view tango.patch @ 1081:5710440ea420

Oops, had some unsaved changes
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 10 Mar 2009 04:56:28 +0100
parents 4e388d9d0e25
children
line wrap: on
line source

Index: tango/tango/math/Math.d
===================================================================
--- tango/tango/math/Math.d	(revision 4388)
+++ tango/tango/math/Math.d	(working copy)
@@ -80,13 +80,9 @@
 } else version(D_InlineAsm_X86) {
     version = Naked_D_InlineAsm_X86;
 }
-else version(LDC)
+version(LDC)
 {
     import ldc.intrinsics;
-    version(X86)
-    {
-        version = LDC_X86;
-    }
 }
 
 /*
@@ -312,28 +308,14 @@
  *      Results are undefined if |x| >= $(POWER 2,64).
  */
 
-version(LDC)
+real cos(real x) /* intrinsic */
 {
-    alias llvm_cos_f32 cos;
-    alias llvm_cos_f64 cos;
-    version(X86)
+    version(LDC)
     {
-        alias llvm_cos_f80 cos;
+        return llvm_cos(x);
     }
-    else
+    else version(D_InlineAsm_X86)
     {
-        real cos(real x)
-        {
-            return tango.stdc.math.cosl(x);
-        }
-    }
-}
-else
-{
-real cos(real x) /* intrinsic */
-{
-    version(D_InlineAsm_X86)
-    {
         asm
         {
             fld x;
@@ -345,7 +327,6 @@
         return tango.stdc.math.cosl(x);
     }
 }
-}
 
 debug(UnitTest) {
 unittest {
@@ -366,28 +347,14 @@
  * Bugs:
  *      Results are undefined if |x| >= $(POWER 2,64).
  */
-version(LDC)
+real sin(real x) /* intrinsic */
 {
-    alias llvm_sin_f32 sin;
-    alias llvm_sin_f64 sin;
-    version(X86)
+    version(LDC)
     {
-        alias llvm_sin_f80 sin;
+        return llvm_sin(x);
     }
-    else
+    else version(D_InlineAsm_X86)
     {
-        real sin(real x)
-        {
-            return tango.stdc.math.sinl(x);
-        }
-    }
-}
-else
-{
-real sin(real x) /* intrinsic */
-{
-    version(D_InlineAsm_X86)
-    {
         asm
         {
             fld x;
@@ -399,7 +366,6 @@
         return tango.stdc.math.sinl(x);
     }
 }
-}
 
 debug(UnitTest) {
 unittest {
@@ -999,29 +965,14 @@
  *      $(TR $(TD +$(INFIN)) $(TD +$(INFIN)) $(TD no))
  *      )
  */
-version(LDC)
+float sqrt(float x) /* intrinsic */
 {
-    alias llvm_sqrt_f32 sqrt;
-    alias llvm_sqrt_f64 sqrt;
-    version(X86)
+    version(LDC)
     {
-        alias llvm_sqrt_f80 sqrt;
+        return llvm_sqrt(x);
     }
-    else
+    else version(D_InlineAsm_X86)
     {
-        real sqrt(real x)
-        {
-            return tango.stdc.math.sqrtl(x);
-        }
-    }
-}
-else
-{
-
-float sqrt(float x) /* intrinsic */
-{
-    version(D_InlineAsm_X86)
-    {
         asm
         {
             fld x;
@@ -1036,8 +987,12 @@
 
 double sqrt(double x) /* intrinsic */ /// ditto
 {
-    version(D_InlineAsm_X86)
+    version(LDC)
     {
+        return llvm_sqrt(x);
+    }
+    else version(D_InlineAsm_X86)
+    {
         asm
         {
             fld x;
@@ -1052,8 +1007,12 @@
 
 real sqrt(real x) /* intrinsic */ /// ditto
 {
-    version(D_InlineAsm_X86)
+    version(LDC)
     {
+        return llvm_sqrt(x);
+    }
+    else version(D_InlineAsm_X86)
+    {
         asm
         {
             fld x;
@@ -1066,8 +1025,6 @@
     }
 }
 
-}
-
 /** ditto */
 creal sqrt(creal z)
 {
@@ -1714,9 +1671,9 @@
         }
     }
     }
-    version(LDC_X86)
+    version(LDC)
     {
-        return llvm_pow_f80(x, y);
+        return llvm_pow(x, y);
     }
     else
     {