Sure, that sounds like efficient new expanded capabilities to me.
I am curious to know what the driving application was for that one?
It leads to the whole bandlimited pulse-train story...

On Sun, Nov 26, 2023 at 8:41 AM Oleg Nesterov <o...@redhat.com> wrote:

> On 11/25, Julius Smith wrote:
> >
> > Hey, perfection is often a minor step forward!
>
> ;)
>
> > I would simply say that there is no difference for constant p, but in the
> > time-varying case there is a new one-sample delay preventing bit-for-bit
> > compatibility.
>
> OK, thanks. I'll try to do something more meaningful and possibly change
> period/pulse "while at it".   Again, I am shy to spam
> github.com/grame-cncm
> with such a trivial change.
>
> For example, do you think the new
>
>         pulsef(period) = tick ~ -(1) : !,_ with {
>                 tick(acc) = select2(pulse, acc, acc+period), pulse
>                 with { pulse = acc <= 0; };
>         };
>
> makes sense?
>
> Like ba.pulse() but "period" can be float. So pulsef(2.5) outputs
>
>         1 0  1 0 0  1 0  1 0 0 ...
>
> iow, ba.time / (pulsef(P) : +~_) "converges" to P.
>
> At the same time, if P is integer it does not uses floating point,
> and (according to my naive testing) it is 14% faster than ba.pulse
> because it doesn't use the division.
>
> Oleg.
>
>

-- 
"Anything that can be automated should optionally be"
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to