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

Reply via email to