On 03.05.2012 21:08, Sean Kelly wrote:
On May 3, 2012, at 8:13 AM, Don Clugston wrote:
On 03/05/12 16:13, Andrei Alexandrescu wrote:
Good ones. In fact I even discounted them from this discussion because
I'd already considered them gone. Walter agreed that I don't mention
them in TDPL, with the intent to have them peter out.
One good step right now would be to remove NCEG operators from the
online documentation. Later on, we'll consider them an accept-invalid
bug :o).
Well, they are also used in druntime, in core.stdc.math
BTW I *hate* that module, I don't know why it exists. Even worse, it seems to
be growing -- people are adding more things to it.
Practically everything in there has a better implementation in std.math.
core.stdc.math corresponds to C99's math.h and is there as a part of the
standard C interface. It should only contain the required C99 prototypes, and
in some cases functions if the C implementation is a macro. If there is
anything nonstandard in there, I'm not aware of it.
Yes, but why do we have it? We're not C.
Some of the std C functions aren't implemented correctly (especially the
FreeBSD long double functions, which are completely wrong). And that
shouldn't be D's problem. Even when they are, they're not pure nothrow,
and sometimes they have really silly names (I'm looking at you, tgamma() )
Quite absurdly, the DMC gamma function is a port from the D version. Why
include it twice??