Files
GyverLamp2/firmware/GyverLamp2_v0.6b/fastRandom.h
2021-02-03 23:34:17 +03:00

26 lines
490 B
C++

#ifndef FastRandom_h
#define FastRandom_h
#include <Arduino.h>
class FastRandom {
public:
// установить сид
void setSeed(uint16_t seed) {
_seed = seed;
}
uint16_t get() {
_seed = (_seed * 2053ul) + 13849;
return _seed;
}
uint16_t get(uint16_t max) {
return ((uint32_t)max * get()) >> 16;
}
uint16_t get(uint16_t min, uint16_t max) {
return (get(max - min) + min);
}
private:
uint16_t _seed;
};
#endif