double __log2 (double __x)
{
register double __value;
+#ifdef __GNUC__
__asm __volatile__
("fld1\n\t"
"fxch\n\t"
"fyl2x"
: "=t" (__value) : "0" (__x));
-
+#else
+ //__value = linkme_log2(__x);
+ __value = 0;
+#endif /*__GNUC__*/
return __value;
}
double pow (double __x, double __y)
{
- register double __value, __exponent;
+ register double __value;
+#ifdef __GNUC__
+ register double __exponent;
long __p = (long) __y;
if (__x == 0.0 && __y > 0.0)
__asm __volatile__
("fscale"
: "=t" (__value) : "0" (__value), "u" (__exponent));
-
+#else
+ __value = linkme_pow(__x, __y);
+#endif /*__GNUC__*/
return __value;
}