On 3 May 2012 16:13, Don Clugston <d...@nospam.com> wrote: > On 03/05/12 16:13, Andrei Alexandrescu wrote: >> >> On 5/3/12 9:55 AM, Don Clugston wrote: >>> >>> On 28/04/12 20:47, Walter Bright wrote: >>>> >>>> Andrei and I had a fun discussion last night about this question. The >>>> idea was which features in D are redundant and/or do not add significant >>>> value? >>>> >>>> A couple already agreed upon ones are typedef and the cfloat, cdouble >>>> and creal types. >>>> >>>> What's your list? >>> >>> >>> Other ones which were agreed to a long time ago were: >>> >>> * NCEG operators >>> >>> * built-in .sort and .reverse >> >> >> 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.
I used core.stdc.math to map GCC builtins to math lib functions. This allows for a lot of potential const folding that the D frontend does not (currently) handle. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';