problem with numericalio: it writes 4 byte "unknowns" instead of 8 byte IEEE DP



Dear all,

in my understanding, the manpage

http://maxima.sourceforge.net/docs/manual/de/maxima_63.html

states that the binary output produced by "write_binary_data" consists
of 8 byte floats that are commonly referred to as "IEEE 754 double 
precision". When the following script:

load("numericalio");
assume_external_byte_order:msb;
a:1.0;b:2.0;ip:float(%pi);
lst:[a/b,a,b,ip/b,ip,a];
write_binary_data(lst,"filename goes in here");

is executed on a system described by :

build_info("5.28.0-2","2012-08-27 23:16:48","i686-pc-mingw32","GNU 
Common Lisp (GCL)","GCL 2.6.8")

the output file looks like this when displayed in a hex editor:

30 80 00 00 31 00 00 00 31 80 00 00 31 44 2D 18 31 C4 2D 18 31 00 00 
00

Obviously, this is a binary file comprising 4 byte data instead of 8 
byte floats; this is confirmed by the OS file manager stating is 
comprises 24 bytes. The values do not correspond to IEEE 754 single 
precision floats either, as these would read: 

3F 00 00 00 3F 80 00 00 40 00 00 00 3F C9 0F DB 40 49 0F DB 3F 80 00 
00

So I guess numericalio's output gives some 4 byte integers, perhaps 
the numerators of the internal representation by fractions??? I'm 
confused... can somebody please comment on this...

Regards
Dragan