Fixed in:  
https://github.com/grame-cncm/faust/commit/4309b5e4b878213c58fdf058978fde64775cd71c

Thanks.

Stéphane 

> Le 6 mai 2023 à 22:42, Oleg Nesterov <o...@redhat.com> a écrit :
> 
> Hello,
> 
> this trivial program
> 
>       process = 100,0,_ : rdtable;
> 
> compiles to
> 
>       int iConst0;
>       int fSampleRate;
> 
>       void instanceConstants(int sample_rate)
>       {
>               fSampleRate = sample_rate;
>               iConst0 = 100 - 1;
>       }
> 
>       void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs)
>       {
>               FAUSTFLOAT* input0 = inputs[0];
>               FAUSTFLOAT* output0 = outputs[0];
>               for (int i0 = 0; i0 < count; i0 = i0 + 1) {
>                       output0[i0] = 
> FAUSTFLOAT(itbl0mydspSIG0[std::max<int>(0, 
> std::min<int>(int(float(input0[i0])), iConst0))]);
>               }
>       }
> 
> obviously, "iConst0 == 100 - 1" makes no sense, compute() should use "99".
> 
> I guess this was caused by the commit d7ce024b76f538b73 
> ("sigWriteReadTable/sigReadOnlyTable
> size argument is actually computed in 'simplify', so move -ct 1 check after 
> simplification.")
> but I didn't check.
> 
> Oleg.
> 



_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to