Re: [Faudiostream-users] Int signals compiling with -double

2023-10-30 Thread Oleg Nesterov
On 10/30, Dario Sanfilippo wrote: > > Is there any particular reason for not having division work like the other > operators? Well, I too think that faust lacks the "idiv" operator, int(/) doesn't generate the "good" code. But as you understand it is too late to change the current semantics of

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-30 Thread Dario Sanfilippo
I get all of your points and I can see how using all floats with -double wouldn't work. Not much for these specific functions, which can be rewritten, but for the fact that there can be other code with int arithmetic and/or comparisons (I'm thinking of %, in particular) that may not work anymore.

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-30 Thread Stéphane Letz
> Le 30 oct. 2023 à 02:39, Oleg Nesterov a écrit : > > On 10/30, Dario Sanfilippo wrote: >> In that case; functions such as ba.time would also get an improvement. >>> >>> Why do you think so?? >>> >>> perhaps you meant that ba.time can overflow? Yes it can, but I don't >>> think

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Oleg Nesterov
Dario, I don't understand you, so let me ask... On 10/30, Dario Sanfilippo wrote: > > Perhaps we can include that "^" (pow()) can also be both int or float > depending on the operands. but it already depends on the type of operands ? > perhaps to do everything in > double when using -double,

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Dario Sanfilippo
On Sun, 29 Oct 2023 at 19:25, Stéphane Letz wrote: > 1) https://faustdoc.grame.fr/manual/syntax/#numbers is quite clear AFAICS: > > == > Numbers > > Faust considers two types of numbers: integers and floats. Integers are > implemented as signed 32-bits integers, and floats are implemented

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Stéphane Letz
1) https://faustdoc.grame.fr/manual/syntax/#numbers is quite clear AFAICS: == Numbers Faust considers two types of numbers: integers and floats. Integers are implemented as signed 32-bits integers, and floats are implemented either with a simple, double, or extended precision depending of

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Dario Sanfilippo
Hi, Oleg. On Sun, 29 Oct 2023 at 17:02, Oleg Nesterov wrote: > On 10/29, Dario Sanfilippo wrote: > > > > internal int representation is always 32-bit, and Stéphane explained that > > it can't be changed easily. > > Yes, and this is a bit unfortunate > > > Since Faust is a high-level language

Re: [Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Oleg Nesterov
On 10/29, Dario Sanfilippo wrote: > > internal int representation is always 32-bit, and Stéphane explained that > it can't be changed easily. Yes, and this is a bit unfortunate > Since Faust is a high-level language for DSP, wouldn't it make sense to > treat all signals as float unless there's

[Faudiostream-users] Int signals compiling with -double

2023-10-29 Thread Dario Sanfilippo
Hi, list. There's a problem when using ints in double-precision; particularly, the internal int representation is always 32-bit, and Stéphane explained that it can't be changed easily. So when compiling with -double, process = _ * 2^32; resolves to virtual void compute(int count, FAUSTFLOAT**