#include "chacha20.c"
#define QUBITS_MAX 11
uint8_t HIDDEN_VARIABLE = 0;
+FILE* RANDOM_FILE;
typedef struct
{
}
double qansel_rand_t()
{
- FILE* f = fopen("/dev/TrueRNG0", "r");
- if (!f) f = fopen("/dev/random", "r");
- if (f)
+ if (RANDOM_FILE)
{
uint32_t num = 0;
for (uint8_t i = 0; i < 4; i++)
{
- num = (num << 8) | fgetc(f);
+ num = (num << 8) | fgetc(RANDOM_FILE);
}
- fclose(f);
return ((double)num) / ((double)UINT32_MAX);
}
else
void main(int argc, char** argv)
{
+ RANDOM_FILE = fopen("/dev/TrueRNG0", "r");
+ if (!RANDOM_FILE) RANDOM_FILE = fopen("/dev/random", "r");
process(argc, argv);
+ fclose(RANDOM_FILE);
}
\ No newline at end of file