The Quantum Exact Simulation Toolkit v4.0.0
Loading...
Searching...
No Matches
Validation

Functions to control QuEST's user-input validation. More...

Functions

qreal getValidationEpsilon ()
 
void setInputErrorHandler (void(*callback)(const char *func, const char *msg))
 
void setValidationEpsilon (qreal eps)
 
void setValidationEpsilonToDefault ()
 
void setValidationOff ()
 
void setValidationOn ()
 

Detailed Description

Functions to control QuEST's user-input validation.

These can be used to adjust the precision with which properties like unitarity are checked/enforced, or otherwise disable all input validation (e.g. is the given qubit index valid?). Note passing erroneous input while validation is disabled can result in runtime errors like segmentation faults.

Function Documentation

◆ getValidationEpsilon()

qreal getValidationEpsilon ( )
Note
Documentation for this function or struct is under construction!

Definition at line 115 of file debug.cpp.

115 {
116 validate_envIsInit(__func__);
117
118 return validateconfig_getEpsilon();
119}

◆ setInputErrorHandler()

void setInputErrorHandler ( void(* callback )(const char *func, const char *msg))
Note
Documentation for this function or struct is under construction!

Definition at line 74 of file debug.cpp.

74 {
75 validate_envIsInit(__func__);
76
77 validateconfig_setErrorHandler(callback);
78}

◆ setValidationEpsilon()

void setValidationEpsilon ( qreal eps)
Note
Documentation for this function or struct is under construction!

Definition at line 100 of file debug.cpp.

100 {
101 validate_envIsInit(__func__);
102 validate_newEpsilonValue(eps, __func__);
103
104 validateconfig_setEpsilon(eps);
105 util_setEpsilonSensitiveHeapFlagsToUnknown();
106}

Referenced by TEST_CASE(), TEST_CASE(), and TEST_CASE().

◆ setValidationEpsilonToDefault()

void setValidationEpsilonToDefault ( )
Note
Documentation for this function or struct is under construction!

Definition at line 108 of file debug.cpp.

108 {
109 validate_envIsInit(__func__);
110
111 validateconfig_setEpsilonToDefault();
112 util_setEpsilonSensitiveHeapFlagsToUnknown();
113}

Referenced by TEST_CASE(), TEST_CASE(), and TEST_CASE().

◆ setValidationOff()

void setValidationOff ( )
Note
Documentation for this function or struct is under construction!

Definition at line 86 of file debug.cpp.

86 {
87 validate_envIsInit(__func__);
88
89 // disables all validation and computation
90 // of matrix properties like isUnitary. Also
91 // means pre-computed matrix properties are
92 // ignored. It does not however erase pre-
93 // computed properties; subsequently restoring
94 // validation will not necessitate re-eval.
95
96 validateconfig_disable();
97}

Referenced by TEST_CASE().

◆ setValidationOn()

void setValidationOn ( )
Note
Documentation for this function or struct is under construction!

Definition at line 80 of file debug.cpp.

80 {
81 validate_envIsInit(__func__);
82
83 validateconfig_enable();
84}

Referenced by TEST_CASE().