On Mon, Oct 25, 2004 at 06:08:03PM +0100, Helen Faulkner wrote: > The program defines the floating point encoding like this. > /***************************************************************************** > * Floating-point encodings. > * 1..........Sun, SGi, IBM-RS, HP, NeXT, Macintosh > * 2..........DECstation, IBM-PC, Alpha (OSF/1), Alpha (OpenVMS - IEEE_FLOAT) > * 3..........VAX, Alpha (OpenVMS - D_FLOAT) > * 4..........Alpha (OpenVMS - G_FLOAT) > *****************************************************************************/ Seems your program uses the Common Data Format libraries http://nssdc.gsfc.nasa.gov/cdf/cdf_home.html I'm no expert in this area, but I would assume number 2. Peeking at the code, these structs are used by the library to convert from the CDF base float format into a requested output float format. fp1 is for IEEE floating point big-endian machines, fp2 for IEEE floating point little endian machines, fp3 is for vax and fp4 is a special case for 64 bit floats. From what I can see, any machine can request any output format, which results in the matrix of structs you posted (at a glance it looks like it relies on the ordering of bit-fields, which I thought was a no-no?). Itanium Linux is IEEE little-endian, so hacking the library to use that is probably your best guess. I noticed that they are working on a new version of CDF so if anyone knows more about it maybe they should try to get Itanium support included "out of the box". http://nssdc.gsfc.nasa.gov/cdf/html/cdf30_proposal.html -i ianw@gelato.unsw.edu.au http://www.gelato.unsw.edu.au
Attachment:
signature.asc
Description: Digital signature