floats and doubles are now treated properly wrt endianness