home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.sgi.misc:41 comp.sys.sgi.bugs:16 comp.sys.sgi:18184
- Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.bugs,comp.sys.sgi
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!rpi!utcsri!helios.physics.utoronto.ca!sysmark
- From: sysmark@helios.physics.utoronto.ca (Mark Bartelt)
- Subject: any update on plans for {fortran,C} support of 128-bit floats?
- Message-ID: <BzGLB0.90v@helios.physics.utoronto.ca>
- Sender: news@helios.physics.utoronto.ca (News Administrator)
- Reply-To: mark@cita.toronto.edu
- Organization: University of Toronto Physics/Astronomy/CITA
- Date: Fri, 18 Dec 1992 14:23:23 GMT
- Lines: 51
-
- Nearly a year ago I groused a bit about the fact that neither C nor
- fortran (under IRIX 4.0.x) support 128-bit floats, and that (worse!)
- the two languages' implementations of non-support are incompatible
- with each other. At the time, I wrote ...
-
- | The C Language Reference Manual says:
- |
- | ANSI C adds "long double", which is the same as "double"
- | in this implementation.
- |
- | The Fortran 77 Language Reference Manual says:
- |
- | When the compiler encounters a REAL*16 declaration, it
- | issues a warning message. REAL*16 items are allocated
- | 16 bytes of storage per element, but only the first
- | eight bytes of each element are used; those eight bytes
- | are interpreted according to the format for REAL*8
- | floating numbers.
- |
- | What this means is that if one ports a mixed-language application
- | from some system that does support quad-precision floating point,
- | and a fortran common block with real*16 variables is accessed by
- | some C function which accesses the common block via a struct which
- | has "long double" variables matching the real*16 fortran variables,
- | things will be misaligned.
-
- At the time, I asked a number of questions about the future of support
- (or lack of same) for 128-bit floats. I didn't save the replies, but
- I recall that there was a vague "we're looking at it, but there aren't
- any firm commitments at this time" sort of response. Since it's been
- nearly a year since then, I'd like to re-ask a couple of them:
-
- -- Will IRIX 5.0 (or, even an earlier release) support "real*16" under
- fortran, and "long double" (== 16-byte) under C?
-
- -- If not, would you at least be willing to provide a flag to cc, so
- that we can force sizeof(long double) to be 16 rather than 8? This
- would be a big help in porting large mixed-language applications that
- use "real*16" in fortran and "long double" in C.
-
- -- And if 5.0 won't support it, when *will* we get it? There *are*
- applications which could make good use of this sort of precision. And
- availability of 128-bit float support (or lack of same) just might be
- a factor in future purchasing decisions ... (1/2 x :-)
-
- Mark Bartelt 416/978-5619
- Canadian Institute for mark@cita.toronto.edu
- Theoretical Astrophysics mark@cita.utoronto.ca
-
- "Clothes not busy being worn are busy drying." - Dylan, on laundry day
- [ singing "It's all right, ma (I'm only bleaching)" ]
-