SynthMaker

code module log10 function-strange behaviour

Archive · 2009 3 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

hansdump ·

Gentlemen,

please have a look at this!

I wanted to calculate the natural logarithm by ln=log(x)/log(e)... this is not possible, why?

BUT

ln= log(x)/0.43429.. will give succes, why?

H.

exonerate ·

Yes there's a problem with how Synthmaker converts that code to ASM.

The xmm0 register keeps getting over written, the first log10 gets stored in the xmm0 register but so does the second over writing the first log10. Then that value is divided by it's self "divps xxm0,xmm0; " so the output is always one.

Doing this works also...

streamin in; streamout out; float tmp;

tmp = log10(2.71828);

out = log10(in)/ tmp;

Now the original problem is avoided, but strangely and I've never seen this before. In the ASM of that code we have....

movaps xmm0,xmm0; ??

Never seen that happen before, not sure if that would cause any issue, but that really is the most pointless movaps SM has ever produced!! 😀

Cheers 😉

Exo

TomC ·

exonerate wrote: Now the original problem is avoided, but strangely and I've never seen this before. In the ASM of that code we have....

movaps xmm0,xmm0; ??

It's just to make sure that there REALLY is the right value in xmm0. You never know...

Tom

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.