On 09/09, yann orlarey wrote:
>
> Hi Oleg,
>
> `process = @(2) : @(-1);` is incorrect because `@(-1)` is incorrect.
'@(-1)' is incorrect per se, but '@(2) : @(-1)' used to work and imo it was
useful. Say,
tkeoN(n) = @(n) <: ^(2) - @(0+n)*@(0-n);
> The
> optimisations made by the compiler should not change the correctness of the
> compiled program.
Well, optimisations is very important part of faust ;)
this code
process = @(ba.time - ba.time);
or this
process = @(ba.time * 0);
is correct. Now it can't be compiled too, by the same reason.
Again, I do not pretend I understand faust internals, but it seems that we
can simply remove the interval checks in infereSigType(); if interval is not
valid or lo < 0 checkDelayInterval() should notice the problem later?
> Therefore I think the current behavior of the compiler is
> the right one.
I can't argue, but to me this looks as unfortunate pessimization.
Oleg.
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users