Subversion Repositories HelenOS-historic

Rev

Rev 652 | Rev 660 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 652 Rev 653
Line 134... Line 134...
134
/* strange behavior, but it was in gcc documentation */
134
/* strange behavior, but it was in gcc documentation */
135
int __nesf2(float a, float b)
135
int __nesf2(float a, float b)
136
{
136
{
137
    return __eqsf2(a,b);
137
    return __eqsf2(a,b);
138
};
138
};
-
 
139
 
-
 
140
/* return value >= 0 if a>=b and neither is NaN */
-
 
141
int __gesf2(float a, float b)
-
 
142
{
-
 
143
    float32 fa,fb;
-
 
144
    fa.f=a;
-
 
145
    fb.f=b;
-
 
146
    if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) {
-
 
147
        /* TODO: sigNaNs*/
-
 
148
        return 1;
-
 
149
        };
-
 
150
   
-
 
151
    if (isFloat32eq(fa,fb)) {
-
 
152
        return 0;
-
 
153
    };
-
 
154
   
-
 
155
    if (isFloat32gt(fa,fb)) {
-
 
156
        return 1;
-
 
157
        };
-
 
158
   
-
 
159
    return -1;
-
 
160
}
-
 
161
 
-
 
162
/** Return negative value, if a<b and neither is NaN*/
-
 
163
int __ltsf2(float a, float b)
-
 
164
{
-
 
165
    float32 fa,fb;
-
 
166
    fa.f=a;
-
 
167
    fb.f=b;
-
 
168
    if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) {
-
 
169
        /* TODO: sigNaNs*/
-
 
170
        return 1;
-
 
171
        };
-
 
172
    if (isFloat32lt(fa, fb)) {
-
 
173
        return -1;
-
 
174
        };
-
 
175
    return 0;
-
 
176
}
-
 
177
 
-
 
178
/* return value <= 0 if a<=b and neither is NaN */
-
 
179
int __lesf2(float a, float b)
-
 
180
{
-
 
181
    float32 fa,fb;
-
 
182
    fa.f=a;
-
 
183
    fb.f=b;
-
 
184
    if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) {
-
 
185
        /* TODO: sigNaNs*/
-
 
186
        return 1;
-
 
187
        };
-
 
188
   
-
 
189
    if (isFloat32eq(fa,fb)) {
-
 
190
        return 0;
-
 
191
    };
-
 
192
   
-
 
193
    if (isFloat32lt(fa,fb)) {
-
 
194
        return -1;
-
 
195
        };
-
 
196
   
-
 
197
    return 1;
-
 
198
}
-
 
199
 
-
 
200
/** Return positive value, if a>b and neither is NaN*/
-
 
201
int __ltsf2(float a, float b)
-
 
202
{
-
 
203
    float32 fa,fb;
-
 
204
    fa.f=a;
-
 
205
    fb.f=b;
-
 
206
    if ((isFloat32NaN(fa))||(isFloat32NaN(fb))) {
-
 
207
        /* TODO: sigNaNs*/
-
 
208
        return 1;
-
 
209
        };
-
 
210
    if (isFloat32gt(fa, fb)) {
-
 
211
        return 1;
-
 
212
        };
-
 
213
    return 0;
-
 
214
}
-
 
215
 
139
/* Other functions */
216
/* Other functions */
140
 
217