64 bit assembler > 64 Bit Assembler

64 bit OS and Real 4 (float) - not very reliable!

(1/5) > >>

I've attached the archive testbed.zip.

It contains the sources, the binary files, and the running applications for both 64 bit operating systems (Linux and Windows). For details and explanations, please check the files readme.txt and testbed.pdf.

A special thanks to Bill Cravener; he did a bit proof reading. But to make it clear: I'm responsible for all the errors in the files and documents - nobody else. Critical remarks and proposals for improvements are welcome.


I've got the Express Edition of VS C++.  I was trying to compile it, and then I remembered I've had no luck linking 64-bit programs.


thank you for your effort. What's the problem? I used ANSI C?



--- Quote ---Processing REAL 4 numbers with the new XMM registers means that the
calculation is made only with 32 bit; that leads to the catastrophic digit
cancallation and is the reason for the false results. The data type float is not
very reliable under a 64 bit operating system, because the described design
decision seems to be unwise.
--- End quote ---
I can't agree with that:
1. floats have 24 precession bits, thus they can represents integers in the range from -16777216 to 16777216 exact. Your test produces numbers that are out of that rang thus rounding applies.
2. If I'm not wrong, most C/C++ compilers set the FPU's precision control to double by default. If you set the PC to single, you will get the same results as with the SIMD instructions.
3. I can't see why you claim this a 64Bit problem - you have simply chose the wrong data type

regards, qWord


--- Quote from: Gunther on November 06, 2012, 07:21:27 AM ---Ryan,

thank you for your effort. What's the problem? I used ANSI C?


--- End quote ---
I've tried multiple times to install the SDK as Microsoft recommends, but it gives a generic error message during the install and fails.  I've tried disabling my AV, but no effect.



[0] Message Index

[#] Next page

Go to full version