[Xorp-hackers] Floating-point types in IPC
Steven Simpson
ss at comp.lancs.ac.uk
Tue Aug 30 07:58:43 PDT 2011
Hi Ben, all,
It's been pointed out to me that there are no floating-point types
supported by XrlAtom, and we might need them in the ECODE project. Has
there been any plan for adding them? How far did it get? What stopped it?
I've gone through the motions of adding an fp64 type, conforming to
IEEE754 binary64, so it should be able to transmit NaN and signed
zero/infinity. It maps to an alias fp64_t, which is either double or
long double. The implementation uses only C99 functions, so that should
avoid introducing new dependencies.
I've introduced <libxipc/fp64.h> which chooses the fp64_t alias, and
<libxipc/fp64serial.h> which provides C functions for converting between
fp64_t and uint_fast64_t. They should not need to be accessed directly
by user code, as xrl_atom.hh handles it.
The algorithm has been tested in isolation, but I haven't made a start
yet on an integrated test - I guess something in libxipc/tests would be
appropriate. From what I recall, enable_tests=True is required for
programs in there.
Let me know if that sounds up to scratch, and I'll send you the patch
when I have the tests in place.
Cheers,
Steven
More information about the Xorp-hackers
mailing list