[PD] PD Float accuracy

IOhannes m zmoelnig zmoelnig at iem.at
Fri Nov 7 10:21:19 CET 2008


errordeveloper at gmail.com wrote:
> On Fri, Nov 07, 2008 at 09:45:32AM +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)
>>
> actually i have thought if pd could be ported to use double precision?
> may be optionaly so if your machine is meant to be fast enough then you
> opt doubles ..
> is it quite doable?

there has been quite some code added to Pd-0.42 in preperation to make
single/double precision a compile-time option.

i think the only major thing that is still missing for a fully
functional double-precision Pd is some ugens, namely [phasor~], [cos~]
and [osc~].

and of course most externals will not work properly.

fgmasdr
IOhannes




More information about the Pd-list mailing list