News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Dealing with REAL10 values

Started by Gunther, April 07, 2013, 02:10:07 AM

Previous topic - Next topic

dedndave

i don't know why not - it's the Real McCoy   :P
80-bit real is the "native" format for the FPU

Gunther

Dave,

Quote from: dedndave on April 07, 2013, 08:10:50 PM
i don't know why not - it's the Real McCoy   :P
80-bit real is the "native" format for the FPU

absolutely right and there are good reasons to do so. But times are changing, you know. The extended multi media register are now the new kids on the block. Brave new world.

Gunther
You have to know the facts before you can distort them.

dedndave

i think SSE supports extended reals, no ?

Gunther

Quote from: dedndave on April 07, 2013, 09:08:33 PM
i think SSE supports extended reals, no ?

I think no. There's not enough room inside the registers.

Gunther
You have to know the facts before you can distort them.

MichaelW

Looking at a very recent Intel manual, it looks like the choices are double-precision , single-precision, and half-precision (this only for conversion with single-precision, and with F16C extensions, whatever that is).

Well Microsoft, here's another nice mess you've gotten us into.

Gunther

Michael,

Quote from: MichaelW on April 07, 2013, 10:14:12 PM
Looking at a very recent Intel manual, it looks like the choices are double-precision , single-precision, and half-precision (this only for conversion with single-precision, and with F16C extensions, whatever that is).

The so called half-precision is that. On the other hand, the Intel C++ compiler on Microsoft Windows supports extended precision, but requires the /Qlong‑double switch for long double to correspond to the hardware's extended precision format. That's a bit funny. One could find some information about that here.

Gunther
You have to know the facts before you can distort them.

dedndave

according to this paper,

http://www.cs.fsu.edu/~engelen/courses/HPC-adv/FP.pdf

"double extended" is supported, but it does not appear to be quite the same as an FPU extended real

Gunther

Dave,

Quote from: dedndave on April 08, 2013, 12:44:44 AM
"double extended" is supported, but it does not appear to be quite the same as an FPU extended real

of course, it's a system dependency. Thank you for the interesting paper. It's a good summary.

Gunther
You have to know the facts before you can distort them.

anta40

Quote from: Gunther on April 07, 2013, 07:58:19 PM
There are no long double (REAL10) values in the pure Windows world.

Do you have the Linux version of the code?
I'd like to give it a try.

Gunther

Hi anta40,

Quote from: anta40 on April 08, 2013, 01:37:26 PM
Do you have the Linux version of the code?
I'd like to give it a try.

I'll re-compile the source and upload it - let me say - tomorrow. Do you need 32 or 64 bit Linux?

Gunther
You have to know the facts before you can distort them.

anta40

32-bit is fine. But if you don't mind, both 32-bit and 64-bit would be better.
:biggrin:

Gunther

Hi anta40,

Quote from: anta40 on April 09, 2013, 12:59:34 PM
32-bit is fine. But if you don't mind, both 32-bit and 64-bit would be better.
:biggrin:

okay, I'll re-compile it for both targets. But under Linux isn't such a problem.

Gunther
You have to know the facts before you can distort them.

Gunther

Hi anta40,

I've uploaded the Linux sources inside the 64 Bit Assembler sub-forum. You can find it here. The archive contains the 64 bit sources as well the 32 bit sources. 32 bit Linux uses the same ABI like Windows 32 bit; so there are only minimal source changes necessary. But under 64 bit systems I had to change the assembly language source, because the underlying ABI is very different from Windows. I hope that helps.

Gunther
You have to know the facts before you can distort them.