skywalk wrote:I couldn't get your last asm version SciStrD() to run - Operand size error?
I made a few improvements (see above for updated code).
Maybe it solves the problem. I'm not able to replicate it.
I tried both x86 and x64 and it works fine here.
skywalk wrote:Cool, runs now and is 2% faster overall.
But, weird bug only if 1st call to sciStrD(0,6,1) contains a 0?
The bug should be fixed now.
For your engineering notation, maybe a real fixed length would be nice.
If support would be limited from 1e-99 to 1e+99, you could make the exponent always two digits.
Like 1.23456e-06
Little John wrote:And a maximum of 2% of the forum members are able to understand that code.
To me it's like a puzzle. I learned some new things creating the code and that's the fun for me.
Most of the times ASM isn't required on modern computers since they are fast enough.
wilbert wrote:For your engineering notation, maybe a real fixed length would be nice.
If support would be limited from 1e-99 to 1e+99, you could make the exponent always two digits.
Like 1.23456e-06
Yeah, I thought about forcing 2 exponent digits, but my data did not exceed "nano" or "giga" so e±9 is fine for me. Using "±xxx.yyyye±z" format, any number I print as a string can be retrieved with consistent numeric accuracy.
Little John wrote:And a maximum of 2% of the forum members are able to understand that code.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum