On 4 May 2012 01:40, Alex Rønne Petersen <xtzgzo...@gmail.com> wrote:
> On 04-05-2012 02:13, Iain Buclaw wrote:
>>
>> 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.
>>
>
> Does that play nice with errno?
>

The default is -fno-errno-math for GDC, so errno is not usually set
after calling single math instructions.  This allows most functions to
be used in pure routines.

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';

Reply via email to