[PD-dev] external libs that refuse double precision compilation

katja katjavetter at gmail.com
Fri Oct 14 02:37:35 CEST 2011


On Thu, Oct 13, 2011 at 11:53 PM, Hans-Christoph Steiner <hans at at.or.at> wrote:

> what's the easiest way to force double on 10.5 or other 32-bit platform?
> Another way would be to add -DPD_FLOAT_PRECISION=64 to the CFLAGS in
> packages/darwin_app/Makefile.

Strangely, -DPD_FLOAT_PRECISION=64 does not work at all, a pure single
precision build seems to result. Looking at the command line output,
all the other options are implemented when building the externals.
Well not all of them, -DDEBUG_SOUNDFILE is also missing in the output.
Normally the -D defines are shown in the output if I remember well.
(The core and the extra's by the way, have -O2 and -g but not the
explicit vector/sse options). Anyway, the only method of building a
double precision Pd on 10.5 is now by just commenting out the
conditional compilation stuff and set PD_FLOAT_PRECISION hardcoded to
64.

> If you want SVN commit access, check the puredata.info dev wiki for the
> instructions.

When I've found out how to best handle all the different sources, I'll
introduce myself to the list as a wannabe pd-dev...

> One thing: there is the stuff in pd/extra, then there is a copy of that
> stuff with an alternate build system in externals/extra.  They should be
> in sync code-wise.  But just be sure to only commit to pd/extra in the
> pd-double.git, not externals/extra in the pure-data SVN.

Indeed I stumbled upon that extra extra when trying to find the
puzzling cause of errors. They are not in sync, externals/extra has
the old code, that's why it fails to build. The extra's in
pd-double.git and are double-ready.

> I think most should be ready to go, as long as they used t_float and
> t_sample well.  Mostly, if they used t_float for both t_float and
> t_sample, which is pretty common, my guess is that will work too.

The underlying primitive type is what counts for the compiler. The
trickiest obstacles for double precision are type punnings. I suspect
cyclone will be full of it, since it's modeled on Max/Msp and has the
same style of routines as Pd. For the rest, I have no clue of what to
expect.

Katja



More information about the Pd-dev mailing list