mirror of
https://github.com/AlexGyver/GyverLamp2.git
synced 2025-08-07 08:40:35 +03:00
26 lines
490 B
C++
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
|