Mercurial > projects > ldc
annotate tango.patch @ 1090:6a19c36fc4a6
Merge
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Wed, 11 Mar 2009 01:01:40 +0100 |
parents | 5710440ea420 |
children |
rev | line source |
---|---|
1079 | 1 Index: tango/tango/math/Math.d |
2 =================================================================== | |
3 --- tango/tango/math/Math.d (revision 4388) | |
4 +++ tango/tango/math/Math.d (working copy) | |
5 @@ -80,13 +80,9 @@ | |
6 } else version(D_InlineAsm_X86) { | |
7 version = Naked_D_InlineAsm_X86; | |
8 } | |
9 -else version(LDC) | |
10 +version(LDC) | |
11 { | |
12 import ldc.intrinsics; | |
13 - version(X86) | |
14 - { | |
15 - version = LDC_X86; | |
16 - } | |
17 } | |
18 | |
19 /* | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
20 @@ -312,28 +308,14 @@ |
1079 | 21 * Results are undefined if |x| >= $(POWER 2,64). |
22 */ | |
23 | |
24 -version(LDC) | |
25 +real cos(real x) /* intrinsic */ | |
26 { | |
27 - alias llvm_cos_f32 cos; | |
28 - alias llvm_cos_f64 cos; | |
29 - version(X86) | |
30 + version(LDC) | |
31 { | |
32 - alias llvm_cos_f80 cos; | |
33 + return llvm_cos(x); | |
34 } | |
35 - else | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
36 + else version(D_InlineAsm_X86) |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
37 { |
1079 | 38 - real cos(real x) |
39 - { | |
40 - return tango.stdc.math.cosl(x); | |
41 - } | |
42 - } | |
43 -} | |
44 -else | |
45 -{ | |
46 -real cos(real x) /* intrinsic */ | |
47 -{ | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
48 - version(D_InlineAsm_X86) |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
49 - { |
1079 | 50 asm |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
51 { |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
52 fld x; |
1079 | 53 @@ -345,7 +327,6 @@ |
54 return tango.stdc.math.cosl(x); | |
55 } | |
56 } | |
57 -} | |
58 | |
59 debug(UnitTest) { | |
60 unittest { | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
61 @@ -366,28 +347,14 @@ |
1079 | 62 * Bugs: |
63 * Results are undefined if |x| >= $(POWER 2,64). | |
64 */ | |
65 -version(LDC) | |
66 +real sin(real x) /* intrinsic */ | |
67 { | |
68 - alias llvm_sin_f32 sin; | |
69 - alias llvm_sin_f64 sin; | |
70 - version(X86) | |
71 + version(LDC) | |
72 { | |
73 - alias llvm_sin_f80 sin; | |
74 + return llvm_sin(x); | |
75 } | |
76 - else | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
77 + else version(D_InlineAsm_X86) |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
78 { |
1079 | 79 - real sin(real x) |
80 - { | |
81 - return tango.stdc.math.sinl(x); | |
82 - } | |
83 - } | |
84 -} | |
85 -else | |
86 -{ | |
87 -real sin(real x) /* intrinsic */ | |
88 -{ | |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
89 - version(D_InlineAsm_X86) |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
90 - { |
1079 | 91 asm |
1081
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
92 { |
5710440ea420
Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents:
1079
diff
changeset
|
93 fld x; |
1079 | 94 @@ -399,7 +366,6 @@ |
95 return tango.stdc.math.sinl(x); | |
96 } | |
97 } | |
98 -} | |
99 | |
100 debug(UnitTest) { | |
101 unittest { | |
102 @@ -999,29 +965,14 @@ | |
103 * $(TR $(TD +$(INFIN)) $(TD +$(INFIN)) $(TD no)) | |
104 * ) | |
105 */ | |
106 -version(LDC) | |
107 +float sqrt(float x) /* intrinsic */ | |
108 { | |
109 - alias llvm_sqrt_f32 sqrt; | |
110 - alias llvm_sqrt_f64 sqrt; | |
111 - version(X86) | |
112 + version(LDC) | |
113 { | |
114 - alias llvm_sqrt_f80 sqrt; | |
115 + return llvm_sqrt(x); | |
116 } | |
117 - else | |
118 + else version(D_InlineAsm_X86) | |
119 { | |
120 - real sqrt(real x) | |
121 - { | |
122 - return tango.stdc.math.sqrtl(x); | |
123 - } | |
124 - } | |
125 -} | |
126 -else | |
127 -{ | |
128 - | |
129 -float sqrt(float x) /* intrinsic */ | |
130 -{ | |
131 - version(D_InlineAsm_X86) | |
132 - { | |
133 asm | |
134 { | |
135 fld x; | |
136 @@ -1036,8 +987,12 @@ | |
137 | |
138 double sqrt(double x) /* intrinsic */ /// ditto | |
139 { | |
140 - version(D_InlineAsm_X86) | |
141 + version(LDC) | |
142 { | |
143 + return llvm_sqrt(x); | |
144 + } | |
145 + else version(D_InlineAsm_X86) | |
146 + { | |
147 asm | |
148 { | |
149 fld x; | |
150 @@ -1052,8 +1007,12 @@ | |
151 | |
152 real sqrt(real x) /* intrinsic */ /// ditto | |
153 { | |
154 - version(D_InlineAsm_X86) | |
155 + version(LDC) | |
156 { | |
157 + return llvm_sqrt(x); | |
158 + } | |
159 + else version(D_InlineAsm_X86) | |
160 + { | |
161 asm | |
162 { | |
163 fld x; | |
164 @@ -1066,8 +1025,6 @@ | |
165 } | |
166 } | |
167 | |
168 -} | |
169 - | |
170 /** ditto */ | |
171 creal sqrt(creal z) | |
172 { | |
173 @@ -1714,9 +1671,9 @@ | |
174 } | |
175 } | |
176 } | |
177 - version(LDC_X86) | |
178 + version(LDC) | |
179 { | |
180 - return llvm_pow_f80(x, y); | |
181 + return llvm_pow(x, y); | |
182 } | |
183 else | |
184 { |