From the original SynthMaker forum (2004–2014), with its members’ names and dates.
hansdump ·
Hello,
I know this topic is annoying for you... I want to remember the lack of a fast and precise built in functions for streamdata in the code component like exp, ln, hyperbolicfunctions, broken rational exponentials etc.
Are there any plans to have a circle of concept?
Suggestions:
-->for example exp(1): It´s annoying to make an exp function over taylor series.. in the meantime there were a couple of suggestions how to implement a asm´d exp function. Don´t you think time has come to use the best one as built in function for the code component?
-->for example x^(1/3): same problem...
I think time has come to make things easier.
It would be enough to have the possibility of making (x/y)^(u/v).
Don´t you think this is essential? 😕
Thanks for attention.
infuzion ·
Would be helpful.
Code: sqrt(), abs(), pow(e,b), denorm(x,lim), +much more...
hansdump ·
Thanks for the hint, but I read this thread already and because of that I wrote this post. The problem is, that it is hard to expect from all the users to code everything in the asm module.
The other thing is, that finding errors in the asm code is a absolutely hassle. So, if all this is possible with the asm code module, why are there borders in the normal code module?
Is it not possible to include the c++ math library to the SM Code Module? That would be a round concept concerning math stuff. It would be so fantastic!
...last time I ask... I promise!
hansdump ·
Ai,
The links here show how to implement very very fast exp(x), ln(x) and 2^x
I´dont know if you already have this in your fast power code module... if not.. maybe this is implementable in Synthmaker?
If i get this right, you have to work with shift operations... so I stuck at this point.
Can somebody help?
Thanks,
H.
hansdump ·
Ok,
I helped myself... sambean wrote already this one in asm!
streamin a;
streamin b;
streamout out;
// Fast power approximation
// Out = pow(a,b)
// Sambean
int norm=1065353216; // (127<<23)
int negNorm=-1065353216; // -(127<<23)