I just tried to compile it now, and it seems like you need an older version
of faust,
plus that you need to dig up Qi, which was not very easy since it's been
replaced
by Shen now. I found Qi here though:
http://www.shenlanguage.org/lambdassociates/htdocs/download/QiII1.07.zip
And if you find a version of faust from around 2011 (only the source code,
you
don't have to compile it up), you should be able to compile up Point
Imperatif.
(Point Imperatif uses the lexer from Faust)
I'll see if I can clean this up. I don't have access to my normal computer
right
now, so it's a bit inconvenient to make a binary, but I'll try to create a
binary
package when I get home.
On Sun, Jul 22, 2018 at 3:42 PM, Oliver Larkin
wrote:
> interesting…
>
> is a point imeratif binary available?
>
>
>
> > On 20 Jul 2018, at 12:39, Stéphane Letz wrote:
> >
> > 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
> 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 >> 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
>
>
--
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