Why isn't there more if(__ctfe) in std.math ?
user1234
user1234 at 12.hu
Sat Sep 23 21:46:40 UTC 2017
On Saturday, 23 September 2017 at 18:23:12 UTC, Juraj Mojzis
wrote:
> Hi,
> browsing trough phobos bugzilla I found a couple of open issues
> regarding CTFE and basic math functions ( Issue 4177, 5227).
> It looks to me that at least floor/ceil could by fixed by a
> simple:
> if (__ctfe) return simple_floor_impl(x);
>
> But that looks too easy and would surely be implemented
> already. So I would like to ask what the real problems are.
>
> Thanks,
> Juraj
"if (__ctfe) {}" is a test happening at runtime. Both the if and
the else branches got compiled, this implies:
- more code to cache
- slower code
just to allow CTFE.
CTFE rounding can be more simply done using cast(int), although
for negative numbers the behavior is not the same.
More information about the Digitalmars-d-learn
mailing list