Implementing Half Floats in D
H. S. Teoh
hsteoh at quickfur.ath.cx
Mon Jan 28 16:46:38 PST 2013
On Tue, Jan 29, 2013 at 01:44:20AM +0100, bearophile wrote:
> Walter Bright:
>
> >http://www.drdobbs.com/cpp/implementing-half-floats-in-d/240146674
>
> From the article:
>
> >Built-in types tend to run faster because the optimizer can take
> >advantage of mathematical identities,<
>
> Generally in D we like the compiler to verify user-applied
> annotations like pure and const. For the compiler of a normal
> language today it's probably too much difficult to prove the
> theorems coming from those identities on user defined types. But if
> the compiler assumes the programmer to be right on this (because
> such types are usually defined in well reviewed libraries), then I
> think it's not too much hard to invent a small set of @annotations
> that attached to a user defined struct tell the compiler to allow
> some optimizations typical of integral numbers, floating point
> numbers, complex numbers, gaussian integers, quaternions, octonions
> and few others, according to them having associative, commutative,
> etc, properties, or not having them.
[...]
+1. I've always wanted a language capable of user-specified
optimizations for custom types. This would be very useful on things like
matrix types, which would otherwise require heavy trickery with
expression templates in order to produce efficient code.
T
--
May you live all the days of your life. -- Jonathan Swift
More information about the Digitalmars-d
mailing list