Personal tools
You are here: Home development pd-double


Since long, Pd has it's own data types t_float and t_sample under the hood, and in practice, this has always been equal to single precision (32 bit) floating point. Modifying a single line of C code in the API, you could define t_float and t_sample as double and compile the whole of Pd to operate in double precision. But not all of the code is well-prepared for that. Some objects would give very weird output, or even make Pd crash.

If you wonder what double precision means, and what it can do in Pd, see illustrations and examples on:

'precision matters' youtube clip

The pd-double project aims to make the code of Pure Data and the external libraries in Pd-extended ready for compilation in both precisions at will: single or double. On older computers, where memory is scarcer, single precision may remain preferable. Double precision enables more extreme calculations, which you may need once in a while.

Double-ready Pd core code is now available on It is a fork of pure-data.git, and you can build a double precision variant of vanilla Pd with this code. The next stage in the project is to make all external libs double-ready.

Developing 'Pd-double-extended'

In order to make Pd-extended double-precision-ready, external libs can now be developed against pd-double, which has the same API as vanilla Pd, and can be built for single or double precision at will.


Nightly Builds

Nightly builds of Pd-double, based on the Pd-extended build system, are produced for testing purposes. Due to external libs producing errors when compiled in double precision, builds may fail. At the moment, these builds succeed partly:



If you want to run your own build like the nightlies are built:

mkdir ~/auto-build
cd ~/auto-build
rsync -av --delete rsync:// pd-double/

Pd-double-vanilla alpha release

The pd-double project page is a place to collect test builds of Pd-double-vanilla:

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser