Hey Katja,

I was just reviewing the double precision patches for the extra/ section of 
pure-data.  I think we should try to get Miller to accept the 'extra/' fixes 
into pure-data.git now.  It seems to me that almost all of these changes are 
just float --> t_float, which are really no-brainers that would be really 
difficult to imagine causing problems.  Plus judging by all the tests you have 
written, it looks like your code is already pretty well tested.

There are only a couple changes in this patch that are not no-brainers.  The 
first is in sigmund~.c, it looks like you just moved up the #ifdef PD and 
#ifdef MSP blocks to the top of the file.  Seems harmless enough.  Then there 
are a couple places where the code is using 'f' to force single precision, like:

@@ -677,8 +678,8 @@ static void bonk_doit(t_bonk *x)
             {
                 if (x->x_useloudness)
                     growth += qrsqrt(qrsqrt(
-                        power/(h->h_mask[oldmaskphase] + 1.0e-15))) - 1.f;
-                else growth += power/(h->h_mask[oldmaskphase] + 1.0e-15) - 1.f;
+                        power/(h->h_mask[oldmaskphase] + 1.0e-15))) - 1.;
+                else growth += power/(h->h_mask[oldmaskphase] + 1.0e-15) - 1.;
             }
             if (!x->x_willattack && countup >= x->x_masktime)
                 maskpow *= x->x_maskdecay;




And cases where there are added typedefs which I don't really understand what's 
going on, like:

--- extra_original/expr~/vexp.h 2011-09-06 11:13:12.000000000 +0200
+++ extra_double_ready/expr~/vexp.h     2011-09-06 11:13:12.000000000 +0200
@@ -37,6 +37,7 @@
 #else /* MSP */
 #include "ext.h"
 #include "z_dsp.h"
+typedef float t_float;      // t_float is from m_pd.h
 #endif
 
 #include "fts_to_pd.h"
--- extra_original/fiddle~/fiddle~.c    2010-04-26 00:27:35.000000000 +0200
+++ extra_double_ready/fiddle~/fiddle~.c        2011-09-06 11:36:28.000000000 
+0200
@@ -108,11 +108,11 @@ static fts_symbol_t *dsp_symbol = 0;
 #endif /* MSP */
 
 #ifdef MSP
-#define t_floatarg double
 #include "ext.h"
 #include "z_dsp.h"
 #include "fft_mayer.proto.h"
-
+typedef float t_float;
+typedef double t_floatarg;
 #endif /* MSP */
 
 #include <math.h>
--- extra_original/loop~/loop~.c        2010-07-28 22:55:17.000000000 +0200
+++ extra_double_ready/loop~/loop~.c    2011-09-06 11:33:54.000000000 +0200
@@ -14,7 +14,8 @@ This file is downloadable from http://ww
 #ifdef PD
 #include "m_pd.h"
 #else
-#define t_sample float
+typedef float t_float;
+typedef float t_sample;
 #endif
 
--- extra_original/pd~/pd~.c    2010-07-28 22:55:17.000000000 +0200
+++ extra_double_ready/pd~/pd~.c        2011-09-06 11:38:12.000000000 +0200
@@ -26,7 +26,7 @@
 #include "ext_support.h"
 #include "ext_proto.h"
 #include "ext_obex.h"
-
+typedef float t_float;
 typedef double t_floatarg;
 #define w_symbol w_sym
 #define A_SYMBOL A_SYM

 
.hc



----------------------------------------------------------------------------

I spent 33 years and four months in active military service and during that 
period I spent most of my time as a high class muscle man for Big Business, for 
Wall Street and the bankers.      - General Smedley Butler



_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to