Windows Vista restricts GNU GCC apps to 32 MB

D. Hugh Redelmeier hugh-pmF8o41NoarQT0dZR+AlfA at public.gmane.org
Thu May 3 22:13:23 UTC 2007


| From: Andrej Marjan <amarjan-e+AXbWqSrlAAvxtiuMwx3w at public.gmane.org>

| On to the Windows part: Windows has a perfectly good C89 runtime built in, but 
| this guy says the MS compiler doesn't support long long (for a long time a 
| GCC extension and now I think part of C99), and better compilers don't 
| support the GMP library.

What he wants is "80-bit long double data type (64-bit mantissa)".

    The difficulty of finding a suitable alternate development
    environment is aggravated by the fact that I need significant
    support for not only large memory allocations, but also for the
    80-bit long double data type (64-bit mantissa), 64-bit integers,
    GMP (the GNU multiple precision library), and the console support
    embodied in the conio.h of DJGPP and Borland C.

The C type "long double" surely remains but it is no longer 80 bits.
On my 64-bit FC6, sizeof(long double) is 16, not 8 or 10.  On my
32-bit RHL7.0 system, and on a 32-bit Ubuntu 6.06, sizeof(long double)
is 12!  (The 12 byte data type seems to have 10 bytes of data and 2
bytes of padding, probably to make sure that it is aligned on a
4-byte boundary when in an array.)

The 80-bit datatype is the precision of values within the 8087
registers.  As such, the extra precision over 64-bit double was
essentially free in computation time.  It gave additional precision to
intermediate calculations.

The 8087 hardware is not "performant".  The replacement (SSE, I think) 
does not have an intermediate value with additional precision.  Linux is 
moving this way too.  On the 64-bit Linux and Win64 ABIs, there is no 
support for the old floating point (the hardware has it but the OSes
may not even enable it for 64-bit processes).

I'm a little sad about the fate of 80-bit arithmetic.  The designer of
the arithmetic system, http://www.cs.berkeley.edu/~wkahan/ is very
knowledgeable about floating point and its quirks.  He's a U of T grad
and I knew his supervisor, Tom Hull.  Anyway, I suspect that the new
FP regime is worse for getting reliable FP results, but faster.
Numerical analysts really like having extra accuracy in intermediate
results.

Understanding the accuracy of floating point calculations is often
very difficult and not really for amateurs.  I consider myself an
amateur even after a couple of undergrad courses and one grad course
in numerical analysis (from Hull) and attending a couple of talks by
Kahan.
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list