[PD] variance from mapping library

Oded Ben-Tal oded at ccrma.Stanford.EDU
Thu Mar 19 17:20:34 CET 2009


> and then changing 100000 to 0 makes the result converge to -691.2.
>
> actually, afaik, [variance] doesn't have a bug by itself. The bug is in 
> [mean_n], which displays similar behaviour in default mode.

Yes that was my thought as well because the variance abstraction looks 
correct.

>
> The bug is because of algebraic assumptions that don't work with floats. With 
> real numbers, a+b-a-b = 0, but with floats, a+b-a-b is only guaranteed to be 
> a "small" number, that is, less than 2^24 times smaller than abs(a)+abs(b), 
> or something like that. But 100000*100000 = 10000000000, and if you divide 
> that by 2^24 = 16777216, you get about 596, which is an upper bound for the 
> amount of error: so, the error is surely between -596 and +596.
>

I trust your math here but just notice that your example converges to 
-691. But if I understand you correctly 'filtering' the input data through 
[int] should make variance error free (we hope).

thanks
Oded




More information about the Pd-list mailing list