X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_noise%2Frandom.cpp;h=d84f97e78e8dc2f14b8cf9b01d053b1a9d5dc619;hb=d8a0d032dc97e5c058ef37b79e245689b2ae7c10;hp=6814f08729c3320b148ecc39a55e6254bf2b7761;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_noise/random.cpp b/synfig-core/trunk/src/modules/mod_noise/random.cpp index 6814f08..d84f97e 100644 --- a/synfig-core/trunk/src/modules/mod_noise/random.cpp +++ b/synfig-core/trunk/src/modules/mod_noise/random.cpp @@ -30,43 +30,11 @@ #endif #include "random.h" +#include #include #include #endif -// A fast 32-bit linear congruential random number generator -class quick_rng -{ - unsigned long next; -public: - quick_rng(unsigned long seed):next(seed) { } - - void set_seed(unsigned long x) - { - next=x; - } - - unsigned long i32() - { - static const unsigned long a(1664525); - static const unsigned long c(1013904223); - - return next=next*a+c; - } - - unsigned long i16() - { - return i32()>>16; - } - - float f() - { - static const float m(int(65535)); - - return float(i16())/m; - } -}; - /* === M A C R O S ========================================================= */ #define PI (3.1415927) @@ -178,8 +146,8 @@ Random::operator()(int smooth,int subseed,float xf,float yf,float tf)const #define FT(i,j,k) ((*this)(subseed,i+x,j+y,k+t)*(R((i)-a)*R(b-(j))*R((k)-c))) #define Z(i,j) ret+=F(i,j) #define ZT(i,j,k) ret+=FT(i,j,k) -#define X(i,j) // placeholder... To make box more symetric -#define XT(i,j,k) // placeholder... To make box more symetric +#define X(i,j) // placeholder... To make box more symmetric +#define XT(i,j,k) // placeholder... To make box more symmetric float a(xf-x), b(yf-y);