9#include "quest/include/types.h"
11#include "quest/src/core/validation.hpp"
12#include "quest/src/core/printer.hpp"
13#include "quest/src/core/utilities.hpp"
14#include "quest/src/core/randomiser.hpp"
15#include "quest/src/gpu/gpu_config.hpp"
38 validate_envIsInit(__func__);
39 validate_randomSeeds(seeds, numSeeds, __func__);
42 rand_setSeeds(vector<unsigned>(seeds, seeds+numSeeds));
46 validate_envIsInit(__func__);
48 rand_setSeedsToDefault();
53 validate_envIsInit(__func__);
55 return rand_getNumSeeds();
59 validate_envIsInit(__func__);
61 auto vec = rand_getSeeds();
62 auto num = rand_getNumSeeds();
64 for (
int i=0; i<num; i++)
75 validate_envIsInit(__func__);
77 validateconfig_setErrorHandler(callback);
81 validate_envIsInit(__func__);
83 validateconfig_enable();
87 validate_envIsInit(__func__);
96 validateconfig_disable();
101 validate_envIsInit(__func__);
102 validate_newEpsilonValue(eps, __func__);
104 validateconfig_setEpsilon(eps);
105 util_setEpsilonSensitiveHeapFlagsToUnknown();
109 validate_envIsInit(__func__);
111 validateconfig_setEpsilonToDefault();
112 util_setEpsilonSensitiveHeapFlagsToUnknown();
116 validate_envIsInit(__func__);
118 return validateconfig_getEpsilon();
129 validate_envIsInit(__func__);
130 validate_newMaxNumReportedScalars(numRows, numCols, __func__);
134 qindex max = std::numeric_limits<qindex>::max();
135 numRows = (numRows == 0)? max : numRows;
136 numCols = (numCols == 0)? max : numCols;
138 printer_setMaxNumPrintedScalars(numRows, numCols);
143 validate_envIsInit(__func__);
144 validate_newMaxNumReportedSigFigs(numSigFigs, __func__);
146 printer_setMaxNumPrintedSigFig(numSigFigs);
151 validate_envIsInit(__func__);
152 validate_newNumReportedNewlines(numNewlines, __func__);
154 printer_setNumTrailingNewlines(numNewlines);
165 validate_envIsInit(__func__);
168 return gpu_getCacheMemoryInBytes();
176 validate_envIsInit(__func__);
193void setSeeds(vector<unsigned> seeds) {
194 setSeeds(seeds.data(), seeds.size());
198 validate_envIsInit(__func__);
201 vector<unsigned> out;
203 auto callback = [&]() { validate_tempAllocSucceeded(
false, numSeeds,
sizeof(
unsigned), __func__); };
204 util_tryAllocVector(out, numSeeds, callback);
void setMaxNumReportedItems(qindex numRows, qindex numCols)
void setMaxNumReportedSigFigs(int numSigFigs)
void setNumReportedNewlines(int numNewlines)
vector< unsigned > getSeeds()
void setSeeds(unsigned *seeds, int numSeeds)
void setInputErrorHandler(void(*callback)(const char *, const char *))
void setValidationEpsilonToDefault()
qreal getValidationEpsilon()
void setValidationEpsilon(qreal eps)