On 4 May 2011 20:11, Brad Roberts <[email protected]> wrote: > I still disagree with your logic. The entire point of the runtime is to > provide and encapsulate the boundary between > the compiler and higher level libraries. Intrinsics are inherently part of > that boundary.
I don't agree with that -- I really don't like the vague word "boundary". My view: the runtime contains support code, which is required by the compiler. So that, if you remove something from the runtime, something won't work. This is not true for these intrinsics -- the fact that they are intrinsics is a compiler-specific optimisation, and nothing more. I do not believe that functions should be moved out of Phobos just because some compiler has provides an intrinsic for them. One thing for sure --- on ANYTHING other than x86 using an x87 CPU, sin() and cos() will not be intrinsics. The only reason the bit operation intrinsics are in the runtime is because the runtime uses them, and we want to have that optimisation available. Likewise, the only possible benefit I could see for this, is if the runtime was to use those functions itself. But it is just as likely to require non-intrinsic math functions (you can make a reasonable case that exp() should be in the runtime). _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
