On 11/19/2012 8:04 AM, Manu wrote:
Well it's available in hardware on basically all mobile devices (that's a LOT of
devices (in the billions)), but even if it's just implemented in software (x86),
the values are consumed by the GPU, and the validity of the values is no less
important. It still seems like a valuable 1st class type; why shouldn't it enjoy
the same casting, assignment, literal, range checking rules as the rest of the
floats? Additionally, convenience and compatibility with generic code would be
significantly improved.
I don't see how it can be made to feel seamless with a lib... and that sounds
like an awful lot more work.

By making a library type that implicitly converts to/from float, and then doing the operations on float, that should about cover it.

For the ARM, the conversion itself could be done by a builtin function, which can use the ARM hardware instruction for it.

For literals, I think:

    __fp16(3.5)

coupled with UTFE can work.


Anyway, I'm not desperate for this personally. I just wondered how people felt
about it in general, and if it was something that should/would be seriously
considered.

I think it should be considered.

Reply via email to