9 #include <esp8266_peri.h> 13 static unsigned long x=132456789, y=362436069, z=521288629;
59 #if defined (__AVR_ATmega644P__) 62 static long longRandom()
64 return ((
long)analogRead(0)+63)*(analogRead(1)+97);
67 #elif defined (__AVR_ATmega2560__) 79 static long longRandom()
83 for (uint8_t i=0; i< 32; i++) rv |= ((analogRead(8)+2294) & 1L) << i;
89 static long longRandom()
93 for (uint8_t i=0; i< 32; i++) rv |= ((analogRead(8)+1171) & 1L) << i;
119 ADCSRA &= ~ (1 << ADIE);
128 ADCSRA |= (1 << ADIE);
133 adc.enableInternalReading();
134 float dummy = adc.readTemp();
135 int* dummy_int = (
int*) &dummy;
138 dummy = adc.readTemp();
141 dummy = adc.readTemp();
145 y = random (0xFFFFFFFF) ^ RANDOM_REG32;
146 z = random (0xFFFFFFFF) ^ RANDOM_REG32;
148 #warning Automatic random seeding not implemented on this platform 173 return (int8_t) ((((
int) (lowByte(xorshift96()))) * (maxval-minval))>>8) + minval;
185 return (uint8_t) ((((
unsigned int) (lowByte(xorshift96()))) * (maxval-minval))>>8) + minval;
195 int rand(
int minval,
int maxval)
197 return (
int) ((((
xorshift96() & 0xFFFF) * (maxval-minval))>>16) + minval);
207 unsigned int rand(
unsigned int minval,
unsigned int maxval)
209 return (
unsigned int) ((((
xorshift96() & 0xFFFF) * (maxval-minval))>>16) + minval);
220 return (int8_t) ((((
int) (lowByte(xorshift96()))) * maxval)>>8);
231 return (uint8_t) ((((
unsigned int) (lowByte(xorshift96()))) * maxval)>>8);
251 unsigned int rand(
unsigned int maxval)
253 return (
unsigned int) (((
xorshift96() & 0xFFFF) * maxval)>>16);
263 return lowByte(xorshift96())>>1;
void xorshiftSeed(long seed)
Initialises Mozzi's (pseudo)random number generator xorshift96() with a chosen seed number...
void randSeed()
Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() fun...
void randSeed(long seed)
Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() fun...
int rand(int maxval)
Ranged random number generator, faster than Arduino's built-in random function, which is too slow for...
unsigned int rand(unsigned int minval, unsigned int maxval)
Ranged random number generator, faster than Arduino's built-in random function, which is too slow for...
unsigned long xorshift96()
Random number generator.
uint8_t randMidiNote()
Generates a random number in the range for midi notes.
unsigned int rand(unsigned int maxval)
Ranged random number generator, faster than Arduino's built-in random function, which is too slow for...
int rand(int minval, int maxval)
Ranged random number generator, faster than Arduino's built-in random function, which is too slow for...