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.

Reply via email to