powExpressions work at ctfe
Stefan Koch via Digitalmars-d
digitalmars-d at puremagic.com
Mon May 9 05:49:16 PDT 2016
On Monday, 9 May 2016 at 12:33:33 UTC, Stefan Koch wrote:
> On Monday, 9 May 2016 at 12:24:18 UTC, Timon Gehr wrote:
>> On 09.05.2016 11:24, Stefan Koch wrote:
>>> At Dconf Manu asked to use pow expressions at CTFE.
>>> Luckily he can.
>>> powExpressions work at ctfe.
>>
>> enum x=2.4^^4.5;
>>
>> DMD master:
>>
>> ./../../phobos/std/math.d(4857): Error: cannot convert &real
>> to ushort* at compile time
>> ./../../phobos/std/math.d(6113): called from here:
>> isNaN(y)
>> ./../../phobos/std/math.d(6303): called from here:
>> impl(cast(real)x, cast(real)y)
>> ctfepow.d(1): called from here: pow(2.4, 4.5)
>
> I see.
> I did not test a floating point value at the left-hand site.
> working on a fix.
okay the workaround would be just to avoid pointer casts.
And use bitwise operations to convert the values.
Another option is not to jit std.math routines at ctfe.
I would prefer the second option, any opinions ?
More information about the Digitalmars-d
mailing list