On Feb 26, 2009, at 3:49 AM, IOhannes m zmoelnig wrote: > John Harrison wrote: >> >> >> danomatika wrote: >>> >>> I made a 64bit build of pd-extended using the pd core (0.41 I >>> believe) >>> from the pd-extended svn and it has this table bug. It seems to >>> only >>> access half of the table, at least in the C08 and C09 audio example >>> patches. They work fine in my build using pd-vanilla 0.42.4. >> Wow I am surprised to hear that. I remember seeing this table bug in >> 0.40 but thought it disappeared on my 64 bit ubuntu Hardy build of >> 0.41. >> > > > it's definitely fixed in 0.41 > > there are 2 possibilites, i see: > - dan has (despite his claims) not built a 0.41 version but a prior > one > - the bug he is experiencing comes from some externals using > garray_getfloatarray() rather than garray_getfloatwords() > > in the latter case, there ought to be some printout in the Pd-console > about the illegal use of garray_getfloatarray() on 64bit.
I just ran a check of the code in SVN, turns out there are many using garray_getfloatarray(). What's the conversion path for that? That would be good to fix, so we can have fully working 64-bit builds of all this: [email protected]:trunk > find . -type f -print0 | xargs -0 grep garray_getfloatarray | grep -v desiredata | grep -v svn ./extensions/xgui/xgui-lib/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/algocomp/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/bsaylor/partconv~.c: } else if ( ! garray_getfloatarray(arrayobj, &arraysize, &array)) { ./externals/bsaylor/pvoc~.c: } else if ( ! garray_getfloatarray(x- >arrayobj, &x->arraysize, &x->array)) { ./externals/build/include/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/creb/modules/statwav~.c: else if (! garray_getfloatarray(a, &x->x_npoints, &x->x_vec)) ./externals/creb/modules/tabreadmix~.c: else if (! garray_getfloatarray(a, &x->x_npoints, &x->x_vec)) ./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x- >x_nsampsintab, &x->x_vec)) ./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x- >x_vec); ./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x- >x_nsampsintab, &x->x_vec)) ./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x- >x_vec); ./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x- >x_nsampsintab, &x->x_vec)) ./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x- >x_vec); ./externals/cxc/mean~.c: else if (!garray_getfloatarray(a, &x- >x_nsampsintab, &x->x_vec)) ./externals/cxc/mean~.c: garray_getfloatarray(a,&x->x_nsampsintab,&x- >x_vec); ./externals/dfx/transverb/prep.i:extern int garray_getfloatarray(struct _garray *x, int *size, t_float **vec); ./externals/ekext/framescore~/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/ekext/framespect~/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/ekext/hssc~/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/ekext/listmoses/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/ekext/simile/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/ekext/simile~/m_pd.h:EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec); ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arysrc_note, &vecsize, &(x->vecsrc_note))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arysrc_octave, &vecsize, &(x->vecsrc_octave))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arysrc_passing, &vecsize, &(x->vecsrc_passing))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arysrc_played, &vecsize, &(x->vecsrc_played))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arydest_note, &vecsize, &(x->vecdest_note))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arydest_octave, &vecsize, &(x->vecdest_octave))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arydest_passing, &vecsize, &(x->vecdest_passing))) ./externals/frankenstein/chord_melo.c: else if (! garray_getfloatarray(arydest_played, &vecsize, &(x->vecdest_played))) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum1, &vecsize, &vecsrc_strum1)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum2, &vecsize, &vecsrc_strum2)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum3, &vecsize, &vecsrc_strum3)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arysrc_strum4, &vecsize, &vecsrc_strum4)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arydest_strum1, &vecsize, &vecdest_strum1)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arydest_strum2, &vecsize, &vecdest_strum2)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arydest_strum3, &vecsize, &vecdest_strum3)) ./externals/frankenstein/GArhythm.c: else if (! garray_getfloatarray(arydest_strum4, &vecsize, &vecdest_strum4)) ./externals/frankenstein/ritmo1.c: else if (! garray_getfloatarray(arysrc, &vecsize, &vecsrc)) ./externals/frankenstein/ritmo1.c: else if (! garray_getfloatarray(arydest, &vecsize, &vecdest)) ./externals/ggee/experimental/fofsynth~.c: else if (! garray_getfloatarray(a,points,vec)) ./externals/ggee/experimental/tabwrite4~.c: else if (! garray_getfloatarray(a, &x->x_npoints, &x->x_vec)) ./externals/grill/flext/source/flbuf.cpp: else if(! garray_getfloatarray(arr, &frames1, &data1)) ./externals/grill/flext/source/flbuf.cpp: if(! garray_getfloatarray(arr, &frames1, &data1)) { ./externals/hcs/TAGS:int garray_getfloatarray(1153,38595 ./externals/hcs/usbhid/TAGS:int garray_getfloatarray(1153,38595 ./externals/iem/iem_adaptfilt/src/n_CLNLMS~.c: else if(! garray_getfloatarray(a, &n_points, &vec)) ./externals/iem/iem_adaptfilt/src/n_CNLMS~.c: else if(! garray_getfloatarray(a, &n_points, &vec)) ./externals/iem/iem_adaptfilt/src/NLMSCC~.c: else if(! garray_getfloatarray(a, &n_points, &vec)) ./externals/iem/iem_adaptfilt/src/NLMS~.c: else if(! garray_getfloatarray(a, &n_points, &vec)) ./externals/iem/iem_bin_ambi/src/iemlib.h:/* on 64bit systems we cannot use garray_getfloatarray... */ ./externals/iem/iem_bin_ambi/src/iemlib.h:# define iemarray_getarray garray_getfloatarray ./externals/iem/iem_spec2/src/iemlib.h:/* on 64bit systems we cannot use garray_getfloatarray... */ ./externals/iem/iem_spec2/src/iemlib.h:# define iemarray_getarray garray_getfloatarray ./externals/iem/iem_tab/src/iemlib.h:/* on 64bit systems we cannot use garray_getfloatarray... */ ./externals/iem/iem_tab/src/iemlib.h:# define iemarray_getarray garray_getfloatarray ./externals/iem16/src/table16.c: if (!garray_getfloatarray(a, &npoints, &vec)){ ./externals/iemlib/iemlib1/src/FIR~.c: else if(! garray_getfloatarray(ga, &table_size, &x->x_coef_beg)) ./externals/io/hidio/TAGS:int garray_getfloatarray(1153,38595 ./externals/loaders/pdj/src/MSPBuffer.c: if ( ! garray_getfloatarray(array, &size, &vec) ) ./externals/loaders/pdj/src/MSPBuffer.c: if ( ! garray_getfloatarray(array, &size, &vec) ) ./externals/loaders/pdj/src/MSPBuffer.c: if ( ! garray_getfloatarray(array, &size, &vec) ) ./externals/loaders/pdj/src/MSPBuffer.c: if ( ! garray_getfloatarray(array, &size, &vec) ) ./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bx, &ix, &tx)) ./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bp, &ip, &tp)) ./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bx, &ix, &tx)) ./externals/maxlib/src/arbran.c: if (!garray_getfloatarray(bp, &ip, &tp)) ./externals/maxlib/src/arraycopy.c: if (!garray_getfloatarray(b, &items, &tab)) ./externals/maxlib/src/arraycopy.c: else if (!garray_getfloatarray(A, &npoints, &vec)) ./externals/maxlib/src/score.c: if (!garray_getfloatarray(b, &items, &tab)) ./externals/maxlib/src/subst.c: else if (!garray_getfloatarray(A, &npoints, &vec)) ./externals/maxlib/src/subst.c: if (!garray_getfloatarray(b, &items, &tab)) ./externals/miXed/shared/common/vefl.c: if (garray_getfloatarray(ap, &vsz, &vec)) ./externals/miXed/shared/common/vefl.c: && !garray_getfloatarray(vp- >v_garray, &vp->v_size, &vp->v_data)) ./externals/miXed/shared/common/vefl.c: else if (! garray_getfloatarray(vp->v_garray, &vp->v_size, &vp->v_data)) ./externals/moocow/flite/flite.c: if (!garray_getfloatarray(a, &vecsize, &vec)) ./externals/moocow/pdstring/src/array2rawbytes.c: if (! garray_getfloatarray(a, &fvecsize, &fvec)) ./externals/moocow/pdstring/src/pdstringUtils.c: if (! garray_getfloatarray(fa->fa_garray, &fa->fa_vlen, &fa->fa_vec)) { ./externals/moocow/pdstring/src/pdstringUtils.c: pd_error(x, "pdstring_floatarray_getvec(): garray_getfloatarray() failed for array '%s'", fa->fa_name->s_name); ./externals/moocow/pdstring/src/rawbytes2array.c: if (! garray_getfloatarray(a, &fvecsize, &fvec)) ./externals/moonlib/readsfv~.c: else if (! garray_getfloatarray(garrays[i], &vecsize, &vecs[i])) ./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i], &vecsize, &vecs[i]); ./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i], &vecsize, &vecs[i]); ./externals/moonlib/readsfv~.c: garray_getfloatarray(garrays[i], &vecsize, &foo); ./externals/moonlib/readsfv~.c: else if (! garray_getfloatarray(garrays[i], &vecsize, &vecs[i])) ./externals/moonlib/tabdump2.c: else if (!garray_getfloatarray(A, &npoints, &vec)) ./externals/moonlib/tabdump2.c: else if (!garray_getfloatarray(A, &npoints, &vec)) ./externals/moonlib/tabenv.c: else if (!garray_getfloatarray(a, &x- >x_nsampsintab, &x->x_vec)) ./externals/moonlib/tabreadl.c: else if (!garray_getfloatarray(a, &npoints, &vec)) ./externals/moonlib/tabsort.c: else if (!garray_getfloatarray(a, &n1, &vec1)) ./externals/moonlib/tabsort.c: else if (!garray_getfloatarray(a, &n2, &vec2)) ./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a, &n1, &vec1)) ./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a, &n2, &vec2)) ./externals/moonlib/tabsort2.c: else if (!garray_getfloatarray(a, &n3, &vec3)) ./externals/mrpeach/flist2tab/flist2tab.c:/* garray_getfloatarray uses t_float but is not 64-bit */ ./externals/mrpeach/flist2tab/flist2tab.c: else if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/mrpeach/flist2tab/flist2tab.c: if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/mrpeach/flist2tab/flist2tab.c: else if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/mrpeach/flist2tab/flist2tab.c: if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/mrpeach/tab2flist/tab2flist.c:/* garray_getfloatarray uses t_float but is not 64-bit */ ./externals/mrpeach/tab2flist/tab2flist.c: else if (! garray_getfloatarray(a, &tabpoints, &vec)) ./externals/mrpeach/tabfind/tabfind.c:/* garray_getfloatarray uses t_float but is not 64-bit */ ./externals/mrpeach/tabfind/tabfind.c: else if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/mrpeach/tabfind/tabfind.c: else if (! garray_getfloatarray(a, &npoints, &vec)) ./externals/oscbank~/oscbank~.c: else if (!garray_getfloatarray(a, &x->wavetablesize, &x->wavetable)) ./externals/pdp/modules/image_basic/pdp_cheby.c: else if (! garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){ ./externals/pdp/modules/image_io/pdp_qt.c: garray_getfloatarray(g, &vecsize, &f); ./externals/pdp/modules/image_special/pdp_array.c: if (! garray_getfloatarray(a, &x->x_nbpoints, &x->x_vec)){ ./externals/pdp/modules/image_special/pdp_histo.c: else if (! garray_getfloatarray(a, &nbpoints, &vec)){ ./externals/pdp/modules/matrix_basic/clusterstuff.c: else if (! garray_getfloatarray(a, &nbpoints, &vec)){ ./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c: else if (! garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec)) ./externals/rhythm_estimator/pd_rhythm_ioi_histogram.c: else if (! garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec)) ./externals/rhythm_estimator/pd_rhythm_quantum.c: else if (! garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec)) ./externals/rhythm_estimator/pd_rhythm_quantum.c: else if (! garray_getfloatarray (a, &x->array_nsampsintab, &x->array_vec)) ./externals/signal/expr~/vexp_if.c: !garray_getfloatarray(garray, &size, &vec)) ./externals/signal/expr~/vexp_if.c: !garray_getfloatarray(garray, &size, &vec)) { \ ./externals/signal/pique/pique.c: !garray_getfloatarray(a, &n, &fpreal) || ./externals/signal/pique/pique.c: !garray_getfloatarray(a, &n, &fpimag) || ./externals/tb/sndfiler/src/sndfiler.c: if(garray_getfloatarray(array, &size, &dummy)) ./externals/tclpd/tcl_wrap.cxx:_wrap_garray_getfloatarray(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ./externals/tclpd/tcl_wrap.cxx: if (SWIG_GetArgs(interp, objc, objv,"ooo:garray_getfloatarray x size vec ",(void *)0,(void *)0,(void *)0) == TCL_ERROR) SWIG_fail; ./externals/tclpd/tcl_wrap.cxx: SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "garray_getfloatarray" "', argument " "1"" of type '" "_garray *""'"); ./externals/tclpd/tcl_wrap.cxx: SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "garray_getfloatarray" "', argument " "2"" of type '" "int *""'"); ./externals/tclpd/tcl_wrap.cxx: SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "garray_getfloatarray" "', argument " "3"" of type '" "t_float **""'"); ./externals/tclpd/tcl_wrap.cxx: result = (int)garray_getfloatarray(arg1,arg2,arg3); ./externals/tclpd/tcl_wrap.cxx: { SWIG_prefix "garray_getfloatarray", (swig_wrapper_func) _wrap_garray_getfloatarray, NULL}, ./externals/zexy/src/zexy.h:# define zarray_getarray garray_getfloatarray ./Gem/src/Manips/linear_path.cpp: if (! garray_getfloatarray(m_array, &size, &vec)) ./Gem/src/Manips/spline_path.cpp: if (! garray_getfloatarray(m_array, &size, &vec)) ./Gem/src/Pixes/pix_curve.cpp: else if (!garray_getfloatarray(a, length, &fp)) ./Gem/src/Pixes/pix_histo.cpp: else if (!garray_getfloatarray(a, length, &fp)) ./Gem/src/Vertex/vertex_tabread.cpp: } else if (! garray_getfloatarray(a, length, &fp)) { ---------------------------------------------------------------------------- Mistrust authority - promote decentralization. - the hacker ethic _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
