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
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users