CustomFloat

Paul D. Anderson paul.d.removethis.anderson at comcast.andthis.net
Fri Oct 17 09:49:18 PDT 2008


Andrei Alexandrescu Wrote:

> I found myself in need for smaller and specialized floating point types, 
> where I configure the exact configuration (sign, mantissa, exponent, 
> bias). See http://en.wikipedia.org/wiki/Half_precision for a half 
> precision number slated for inclusion in IEEE 754r.
> 
> Would it be interesting to add a CustomFloat template to phobos? I'm 
> thinking along the lines of:
> 
> template CustomFloat!(bool sign, uint mantissa,
>          uint exponent, uint bias)
> {
>      ...
> }
> 
> So half-precision numbers are:
> 
> alias CustomFloat!(true, 5, 10, 15) HalfFloat;
> 
> There are quite a few details to kink out but this is definitely doable. 
> Numbers like 24-bit floating point and even 8-bit floating point would 
> be easy to support too. For now CustomFloat would be intended 
> exclusively as a compact storage mechanism; only conversion to the 
> standard floating points would be implemented. Later, maybe we can get 
> to implement some operations natively at least on machines that support 
> them in hardware. I wanted to gauge interest in the topic.
> 
> 
> Andrei

I've done some work on a set of decimal floating point numbers consistent with the new 754r decimal formats approved in June. Some of that work would be applicable here, I think.

It would probably make sense to add the decimal formats at the same time. Let me know if I can help.

Paul




More information about the Digitalmars-d mailing list