Rev 653 | Rev 688 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 653 | Rev 660 | ||
---|---|---|---|
Line 55... | Line 55... | ||
55 | { |
55 | { |
56 | float32 fa, fb; |
56 | float32 fa, fb; |
57 | fa.f=a; |
57 | fa.f=a; |
58 | fb.f=b; |
58 | fb.f=b; |
59 | if (fa.parts.sign!=fb.parts.sign) { |
59 | if (fa.parts.sign!=fb.parts.sign) { |
60 | fb.parts.sign!=fb.parts.sign; |
60 | fb.parts.sign=!fb.parts.sign; |
61 | return addFloat32(fa,fb).f; |
61 | return addFloat32(fa,fb).f; |
62 | } |
62 | } |
63 | return subFloat32(fa,fb).f; |
63 | return subFloat32(fa,fb).f; |
64 | }; |
64 | }; |
65 | 65 | ||
Line 86... | Line 86... | ||
86 | /* a<b .. -1 |
86 | /* a<b .. -1 |
87 | * a=b .. 0 |
87 | * a=b .. 0 |
88 | * a>b .. 1 |
88 | * a>b .. 1 |
89 | * */ |
89 | * */ |
90 | 90 | ||
91 | int __cmpsf2(double a, double b) |
91 | int __cmpsf2(float a, float b) |
92 | { |
92 | { |
93 | float32 fa,fb; |
93 | float32 fa,fb; |
94 | fa.f=a; |
94 | fa.f=a; |
95 | fb.f=b; |
95 | fb.f=b; |
96 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
96 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
Line 143... | Line 143... | ||
143 | float32 fa,fb; |
143 | float32 fa,fb; |
144 | fa.f=a; |
144 | fa.f=a; |
145 | fb.f=b; |
145 | fb.f=b; |
146 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
146 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
147 | /* TODO: sigNaNs*/ |
147 | /* TODO: sigNaNs*/ |
148 | return 1; |
148 | return -1; |
149 | }; |
149 | }; |
150 | 150 | ||
151 | if (isFloat32eq(fa,fb)) { |
151 | if (isFloat32eq(fa,fb)) { |
152 | return 0; |
152 | return 0; |
153 | }; |
153 | }; |
Line 196... | Line 196... | ||
196 | 196 | ||
197 | return 1; |
197 | return 1; |
198 | } |
198 | } |
199 | 199 | ||
200 | /** Return positive value, if a>b and neither is NaN*/ |
200 | /** Return positive value, if a>b and neither is NaN*/ |
201 | int __ltsf2(float a, float b) |
201 | int __gtsf2(float a, float b) |
202 | { |
202 | { |
203 | float32 fa,fb; |
203 | float32 fa,fb; |
204 | fa.f=a; |
204 | fa.f=a; |
205 | fb.f=b; |
205 | fb.f=b; |
206 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
206 | if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) { |
207 | /* TODO: sigNaNs*/ |
207 | /* TODO: sigNaNs*/ |
208 | return 1; |
208 | return -1; |
209 | }; |
209 | }; |
210 | if (isFloat32gt(fa, fb)) { |
210 | if (isFloat32gt(fa, fb)) { |
211 | return 1; |
211 | return 1; |
212 | }; |
212 | }; |
213 | return 0; |
213 | return 0; |