[PD] PD Float accuracy

Nicholas Mariette nicholas.mariette at limsi.fr
Fri Nov 7 10:48:26 CET 2008

I've had the 6-digit problem trying to print UTM position coordinates  
out of Pd.

If you know the range of your numbers, there are some ugly hacks that  
provide a limited solution.

Eg, for 1234.5678 you can pass the number through [int] and then  
subtract that from the original number to get the parts before and  
after the decimal, then print them separately and use external scripts  
to concatenate - or maybe you could convert them to symbols and  
concatenate in Pd before printing.

You could do similar things using [mod] for numbers above 1e+06, etc...


On Nov 7, 2008, at 10:08 AM, Roman Haefeli wrote:

> On Fri, 2008-11-07 at 09:45 +0100, IOhannes m zmoelnig wrote:
>> Mark Sexton wrote:
>>> Hi
>>> I need PD to make simple but accurate calculations for a  
>>> sonification project. However there seems to be a problem working  
>>> accurately with floats that have 7 or more digits in total (before  
>>> or after the decimal point). PD always seem to round the figure to  
>>> 6 digits whether in a calculation, or even typing a 7+ digit float  
>>> into a number box e.g. 1234.5678 rounded to 1234.57
>>> I've got a couple of ugly hacks to work around for now, but it  
>>> seems a fairly fundamental thing to do, so would be grateful to  
>>> hear if I'm missing a simple way to get PD to work accurately with  
>>> floats of any arbitrary length above 6 digits.
>> you don't need anything.
>> Pd does uses IEEE floating point values for numbers, you don't  
>> loose a
>> single bit.
>> it's only the GUI that likes to round the numbers when displaying it.
>> internally everything is "correct" (as far as it is possible using
>> single precision floats)
>> you could change the "width" of a number-box to see more digits.
> still only 6 digits are displayed. altough pd works internall with  
> 32bit floating values, i couldn't think of an easy way to get them out
> of pd. both, print and the numberbox truncate the numbers.
> two ways - not very feasible, though - to get full precision out of pd
> come to my mind:
> - send the numbers over OSC to some other application
> - write the numbers to an audio file with 32bit bitlength. extract the
> numbers from there
> or has someone a better idea?
> roman
> ___________________________________________________________
> Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo!  
> Mail: http://mail.yahoo.de
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list