can you help me translate this equation to simd (bitmasking)
Archive · 20067 old posts
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
spoonboiler ·
hi;
i am having a terrible time translating this:
p += dp;
if(p < 0.0)
{
p = -p;
dp = -dp;
}
else if(p > pmax)
{
p = pmax + pmax - p;
dp = -dp;
}
i can do a simple if/else, but an if/elseIf is killing me 😆 maybe i'm just tired? but i could sure do with some help.
i am also wondering if i would need to do all this twice, because of the two dos inside the curly braces...
help?
😀
thanx all.
Shifrin ·
spoonboiler wrote: hi;
i am having a terrible time translating this:
You could try :-
float pLT0;
float pGTpmax;
float pUC;
p = p + dp;
pLT0 = p < 0.0;
pGTpmax = p > pmax;
pUC = (P >= 0.0)&(p <= pmax);
I couldn't remember if S|M supported syntax like -p so I wrote -1*p 😉
Shif.
[edit]There's probably errors in this LOL, but you get the idea![/edit]
Shifrin ·
Glaring mistake in what I wrote above, I neglected to leave 'p' and 'dp' as they are if neither p < 0.0 or p > pmax are true...
Will attempt to modify it 😉
Shif.
Shifrin ·
Updated, pUC = pUnChanged, the mask to use when neither of the conditions are true.
Shif.
spoonboiler ·
@shif:
thanx, i surely appreciate your assistance. I am still a rank beginner at this stuff, so it is alternatingly making sense, and making no sense at all 😆
i am completely at the mercy of my own curiousity with stuff like this. it drives me crazy, and yet i can't stop trying.
You have helped me. Thanx 🙂
-gabriel
rl ·
BTW: if you need to squeeze out the very last bit of performance, 0-p is faster than -1*p (subps vs. mulps)
Shifrin ·
rl wrote: BTW: if you need to squeeze out the very last bit of performance, 0-p is faster than -1*p (subps vs. mulps)
Nice spot 😉
Shif.
Wrote something here? To have a post removed or your name hidden, write to [email protected].