On Tue, 15 Mar 2005, roc wrote:
just out of curiosity after /doc/'s example patch: how many digits can handle a message in pd?
a float atom can handle 24 significant bits (that's about 7 decimals). After that, it starts dropping the least significant digits, so that 16777217 is the first natural number that can't be a pd-float.
However when converting floats to text and back (for example in saving/loading patches) it's only 6 decimals: 1000001 is the first natural number that won't be _written_ exactly by pd.
It's difficult to get extra precision in PureData. Those who really need it can pick a language supported by PureData and write externals for that... Using Ruby or Scheme you can easily get thousands or even millions of digits.
If you're sticking to PureData you will have to chop that into manageable chunks: for example, 1 or 3 or 6 decimals per float, in a list of floats representing different parts of the number (gaaaah).
BTW, I have the impression that this should go in the FAQ. I sense déjà-vu and if I go in my mail archives I'll prolly find myself having retyped the same ideas many times... (some copies of it may have been on the pd-dev mailing-list though)
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju