uint64_t MapUniformBinaryNoiseLayer::getTileValue(const Point2d<int> &point) { int64_t x64 = point.x, y64 = point.y; uint64_t res = getRand(*(uint64_t*)&x64, *(uint64_t*)&y64); return rand_from_seed(res ^ seed_); }
uint32_t Math::rand() { return rand_from_seed(&default_seed)&0x7FFFFFFF; }
uint64_t MapUniformBinaryNoiseLayer::getRand(uint64_t seed1, uint64_t seed2) const { uint64_t res = rand_from_seed(seed1); return res ^ rand_from_seed(seed2 ^ res); }