Better *without* the change in lexer/parser yes. Stéphane
> Le 28 août 2023 à 23:50, Oleg Nesterov <o...@redhat.com> a écrit : > > On 08/28, Stéphane Letz wrote: >> >> Time to start to do proper Pull Request *please* ! > > Heh ;) OK, will do. I want this feature. > > But. From 1/2, > > NOTE: this patch touches compiler/parser/, so you obviously need > "cd compiler/parser; make" before "make" to build the compiler. > > so what should I do? > > I mean, should I do "cd compiler/parser; make" and include the changed > compiler/parser/{faustlexer.cpp,faustparser.cpp,faustparser.hpp} in my PR? > Or will you do it yourself? > > As you understand, flex/bison on my machine and yours can differ. > > Thanks, > > Oleg. > >>> Le 28 août 2023 à 22:14, Oleg Nesterov <o...@redhat.com> a écrit : >>> >>> OK, after the recent commit 62d829ea33128797 ("Fix spelling of 'infer'.") >>> this can't be compiled, that commit does >>> >>> - virtual int infereSigOrder(const std::vector<int>& args) >>> = 0; >>> - virtual ::Type infereSigType(ConstTypes args) >>> = 0; >>> + virtual int inferSigOrder(const std::vector<int>& args) >>> = 0; >>> + virtual ::Type inferSigType(ConstTypes args) >>> >>> so 1/2 needs the trivial s/infere/infer/ change too. >>> >>> I'll send V2 tomorrow. >>> >>> Oleg. >>> >>> On 08/27, Oleg Nesterov wrote: >>>> >>>> Another ping. And this time I am actually trying to push, sorry ;) >>>> >>>> See the previous (unfinished) discussion: >>>> >>>> >>>> https://sourceforge.net/p/faudiostream/mailman/faudiostream-devel/thread/20230429164124.GA26777%40redhat.com/#msg37837542 >>>> >>>> Let me resend both patches with some renames and cosmetic changes >>>> plus more documentation in the changelogs. >>>> >>>> Can you explain why you dislike this idea? >>>> >>>> Yes, the new primitives are not very useful in pure faust code, >>>> I mostly need this feature for https://github.com/oleg-nesterov/fpp >>>> and for the code which uses ffunctions. I can provide the examples, >>>> but I guess this won't help because nobody is interested in fpp ;) >>>> >>>> Still I think even the pure faust code can use it too, and maintaince >>>> wise these patches add a single keyword + single (and simple!) file. >>>> >>>> I can even make a Pull Request if this can help ;) >>>> >>>> ----------------------------------------------------------------------- >>>> If nothing else, you can use it for debugging. Say, >>>> >>>> process = *(ma.PI) : tan <: internal.lo, internal.hi; >>>> >>>> outputs >>>> >>>> output0[i0] = FAUSTFLOAT(INFINITY); >>>> output1[i0] = FAUSTFLOAT(INFINITY); >>>> >>>> and this shows that checkFloat() asks for improvements, it does not >>>> distinguish positive/negative infinity. >>>> >>>> ------------------------------------------------------------------------ >>>> Or. suppose I have a sine oscillator, say, >>>> >>>> sine = os.oscrs; >>>> >>>> How can I implement sine_or_zero(f) which doesn't generate any code >>>> and outputs 0 when 'f' is compile-time constant == 0, and outputs >>>> os.oscrs(f) otherwise? >>>> >>>> This can be useful in jm_osc() we recently discussed, see >>>> https://sourceforge.net/p/faudiostream/mailman/message/37886119/ >>>> Note that there are two "important" cases when f0 == 0 or f0 = df, >>>> in both cases it would be nice to throw out the unnecessary code >>>> if we can detect this at compile time. >>>> >>>> Oleg. >>> >> > _______________________________________________ Faudiostream-devel mailing list Faudiostream-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-devel