[Issue 16474] CTFE pow

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Aug 5 16:00:36 PDT 2017


https://issues.dlang.org/show_bug.cgi?id=16474

--- Comment #9 from kinke at gmx.net ---
(In reply to uplink.coder from comment #7)
> (In reply to ZombineDev from comment #6)
> > Manu, you may be interested in trying LDC as it will soon support much more
> > intrinsics at CTFE than dmd. For reference:
> > https://github.com/ldc-developers/ldc/pull/2259 I'm not sure if specifically
> > the pow operator is supported (though pow is supported as a function call).

I started that work due to a recent ping of this issue and me accidentally
noticing it. ;)
So the pow operator is working with that PR for LDC; there a static assert in
the last line of the test.

> Do they interface with the CTFE engine ?
> That'd be crazy :)

I detect a few more key primitive functions (ldexp, isNaN, isInfinity,
isFinite...) as builtins and forward to proper implementations in CTFloat. I
also had to make std.math.exp2() CTFE-able for 80-bit reals by not using the
inline assembly code for CTFE. DMD may need a few more builtins or
CTFE-friendly Phobos implementations to get all of this working as well; I'll
open a DMD PR for the ones required by LDC.

So how does newCTFE interact with CTFloat at the moment? This is an important
piece for cross-compilers. And is there an estimate for when newCTFE will land?

--


More information about the Digitalmars-d-bugs mailing list