Thanks Julius, I see what you mean.  It's just a bit tricky to do,
because this code is generated by the Faust compiler as part
of the faust2caqt script.  It’s pretty awkward to fix the source code
and restart the script halfway through, tho I suppose it’s possible.

I wonder if this is an issue with my compiler version.  
I’m trying to use Apple LLVM version 7.3.0, on OS X 10.11.6.  

Are there C++ compilers that know to promote % to fmod() when float arguments 
are present?  
What’s the current recommended compiler for compiling Faust-generated source?

Thanks,
-mykle-

> 
> On Dec 31, 2018, at 7:17 PM, Julius Smith <[email protected]> wrote:
> 
> Hi Mykle,
> 
> I think the compiler means to convert % to fmod() for floating-point
> args.  I suggest using fmod() explicitly in place of "%" in your
> source for now as a workaround.

> - Julius
> 
> On Mon, Dec 31, 2018 at 7:36 AM Mykle James Hansen <[email protected]> wrote:
>> 
>> Hi, can I ask some advice?
>> 
>> I’m trying to compile a 60-line Faust program into a standalone app,
>> but Faust is generating some code that won’t compile on my system.
>> The code tries to use a float as the argument to the modulo
>> operator (%), yielding the error message in the subject line.
>> Anybody seen this before?
>> 
>> I’m experiencing this when I try to run faust2caqt — it dies with
>> a compiler error:
>> 
>>> looper3.cpp:16736:56: error: invalid operands to binary expression ('float' 
>>> and 'float')
>>>                        fRec4[0] = ((float(iSlow3) * (fRec1[0] + fRec4[1])) 
>>> % fTemp2);
>>>                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
>>> ^ ~~~~~~
>>> looper3.cpp:16737:42: error: invalid operands to binary expression ('float' 
>>> and 'float')
>>>                        ftbl0[int((iTemp1?((fRec4[0] + -1.0f) % 
>>> fTemp2):131071.0f))] = fRec0[1];
>>>                                           ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~
>>> 
>> 
>> But the problem's not just faust2caqt.  Running just ‘faust looper3.dsp’ 
>> also generates those lines.
>> 
>> OTOH, I am able to run this same Faust program in FaustLive no
>> problem, and I can also run it in the online editor.
>> 
>> I just pulled and built the latest Faust compiler (master branch) to see if
>> that would help, but that didn’t seem to make a change.
>> Any advice would be most appreciated.
>> 
>> Yrs stumpedly,
>> -mykle-
>> 
>> _______________________________________________
>> Faudiostream-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
> 
> 
> 
> -- 
> 
> Julius O. Smith III <[email protected]>
> Professor of Music and, by courtesy, Electrical Engineering
> CCRMA, Stanford University
> http://ccrma.stanford.edu/~jos/



_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to