This even simpler code : foo(x) = 5; process = (foo ~ _) ;
Produces suboptimal code: virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) { FAUSTFLOAT* output0 = outputs[0]; for (int i = 0; (i < count); i = (i + 1)) { int iRec0 = 5; output0[i] = FAUSTFLOAT(iRec0); } } Stéphane > Le 20 juil. 2018 à 13:08, Kjetil Matheussen <k.s.matheus...@gmail.com> a > écrit : > > > On Fri, Jul 20, 2018 at 11:35 AM, Kjetil Matheussen > <k.s.matheus...@gmail.com> wrote: > > Actually, Faust should have been able to convert > m_a1/m_a2/m_a3/m_m0/m_m1/m_m2 into > slow variables so that we would have avoided all the conditional code in the > inner loop. > I'll see if I can come up with a smaller example. > > > I simplified the problem down to this faust program: > > """ > modeSlider = hslider ( "Mode" , 0 , 0 , 1 , 1 ) ; > > returnfunc(a) = select2(a==0, 2, 3); > > process(x) = (function__1936 ~ (_)) : returnfunc with{ > function__1936(a) = modeSlider; > }; > """ > > which compiles down to this C++ code: > > """ > virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** > output) { > FAUSTFLOAT* input0 = input[0]; > FAUSTFLOAT* output0 = output[0]; > for (int i=0; i<count; i++) { > float fRec0 = float(fslider0); > output0[i] = (FAUSTFLOAT)((int((fRec0 == 0)))?3:2); > } > } > } > """ > > which would have been faster if "fRec0" and "(FAUSTFLOAT)((int((fRec0 == > 0)))?3:2);" > had been compiled down to slow variables. > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! > http://sdm.link/slashdot_______________________________________________ > Faudiostream-devel mailing list > faudiostream-de...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users