On 08/24, Julius Smith wrote: > > I think this one may have been fixed. I cannot reproduce it in the > latest git master-dev branch:
I am on master-dev too, > faust -v > FAUST : DSP to C, C++, Java, JavaScript, old C++, asm.js, WebAssembly > (wast/wasm) compiler, Version 2.8.1 FAUST : DSP to C, C++, Java, JavaScript, old C++, asm.js, WebAssembly (wast/wasm) compiler, Version 2.8.3 > noise = random / RANDMAX > with{ > mask = 4294967295; // 2^32-1 > random = +(12345) ~ *(1103515245) & mask; // "linear congruential" > RANDMAX = 2147483647.0; // = 2^31-1 = MAX_SIGNED_INT in 32 bits > }; $ cat /tmp/bug.dsp noise = random / RANDMAX with{ mask = 4294967295; // 2^32-1 random = +(12345) ~ *(1103515245) & mask; // "linear congruential" RANDMAX = 2147483647.0; // = 2^31-1 = MAX_SIGNED_INT in 32 bits }; process = noise <: *; $ faust -a plot.cpp /tmp/bug.dsp virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) { FAUSTFLOAT* output0 = outputs[0]; for (int i = 0; (i < count); i = (i + 1)) { iRec0[0] = ((1103515245 * iRec0[1]) + 12345); output0[i] = FAUSTFLOAT((2.16840434e-19f * float(mydsp_faustpower2_i(iRec0[0])))); iRec0[1] = iRec0[0]; } } mydsp_faustpower2_i(iRec0[0]) is wrong. $ /tmp/bug-plot 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 -0.000000 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 -0.000000 0.000000 -0.000000 > Maybe the ".0" at the end of RANDMAX is new? I don't think it should make any difference... just note the comment // special handling for division, we always want a float division in generateBinOp(). Oleg. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users