I am working on two modules for encoding and decoding numbers as per
IEEE754. The pack() function can encode and decode the formats binary32
(single precision) and binary64 (double precision). My module can also
handle binary128 (quad precision), binary16 (half precision), bfloat16 (not
an IEEE754 format, but it follows the IEEE754 pattern), and a few other

My question is about the namespace. Is Math::IEEE754::Encoder (and
...::Decoder) OK? Or is Number::IEEE754::Encoder better? Or any other?

Here is an example showing how I use it:

my $encoder = Math::IEEE754::Encoder -> new("binary16");
my $bytes = $encoder -> (3.14159265358979);  # = "\x42\x48"

my $decoder = Math::IEEE754::Decoder -> new("binary16");
my $number = $decoder -> ($bytes);               # = 3.140625

The reason for returning an anonymous function rather than implementing the
function directly, is speed. There are some constants involved, and I don't
want to compute them for each function call.

Peter John Acklam (PJACKLAM)

Reply via email to