The debug API functions...
setSeeds()
setSeedsToDefault()
getSeeds()
getNumSeeds()
setInputErrorHandler()
setValidationOn()
setValidationOff()
setValidationEpsilonToDefault()
setValidationEpsilon()
getValidationEpsilon()
setMaxNumReportedItems()
setMaxNumReportedSigFigs()
setNumReportedNewlines()
setReportedPauliChars()
setReportedPauliStrStyle()
getGpuCacheSize()
clearGpuCache()
getEnvironmentString()
are named irksomely generically, and are likely to collide with user symbols (setSeeds()?! What was I thinking?!), or those of other libraries/dependencies.
In contrast, the environment API functions...
initQuESTEnv()
initCustomQuESTEnv()
finalizeQuESTEnv()
syncQuESTEnv()
reportQuESTEnv()
isQuESTEnvInit()
getQuESTEnv()
conveniently contain QuEST, disambiguating from user namespace.
We should rename the debug functions to also include QuEST. The remaining API is fine, since containing either the name of a QuEST type (e.g. Qureg, CompMatr PauliStr, ...) or are an unambiguously "QuESTy" operation (applyHadamard, calcFidelity, ...)
While doing this, we may also consider renaming potentially ambiguous preprocessors (such as FLOAT_PRECISION), in addition to the CMake flags already nominated for rename in #709 .
The debug API functions...
setSeeds()setSeedsToDefault()getSeeds()getNumSeeds()setInputErrorHandler()setValidationOn()setValidationOff()setValidationEpsilonToDefault()setValidationEpsilon()getValidationEpsilon()setMaxNumReportedItems()setMaxNumReportedSigFigs()setNumReportedNewlines()setReportedPauliChars()setReportedPauliStrStyle()getGpuCacheSize()clearGpuCache()getEnvironmentString()are named irksomely generically, and are likely to collide with user symbols (
setSeeds()?! What was I thinking?!), or those of other libraries/dependencies.In contrast, the environment API functions...
initQuESTEnv()initCustomQuESTEnv()finalizeQuESTEnv()syncQuESTEnv()reportQuESTEnv()isQuESTEnvInit()getQuESTEnv()conveniently contain
QuEST, disambiguating from user namespace.We should rename the debug functions to also include
QuEST. The remaining API is fine, since containing either the name of a QuEST type (e.g.Qureg,CompMatrPauliStr, ...) or are an unambiguously "QuESTy" operation (applyHadamard,calcFidelity, ...)While doing this, we may also consider renaming potentially ambiguous preprocessors (such as
FLOAT_PRECISION), in addition to the CMake flags already nominated for rename in #709 .