2aaed326ab95b6ed895127516e0ac8467df5ee08
[fw/altos] / src / math / sf_fabs.c
1 /* sf_fabs.c -- float version of s_fabs.c.
2  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3  */
4
5 /*
6  * ====================================================
7  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8  *
9  * Developed at SunPro, a Sun Microsystems, Inc. business.
10  * Permission to use, copy, modify, and distribute this
11  * software is freely granted, provided that this notice 
12  * is preserved.
13  * ====================================================
14  */
15
16 /*
17  * fabsf(x) returns the absolute value of x.
18  */
19
20 #include "fdlibm.h"
21
22 #ifdef __STDC__
23         float fabsf(float x)
24 #else
25         float fabsf(x)
26         float x;
27 #endif
28 {
29         __uint32_t ix;
30         GET_FLOAT_WORD(ix,x);
31         SET_FLOAT_WORD(x,ix&0x7fffffff);
32         return x;
33 }
34
35 #ifdef _DOUBLE_IS_32BITS
36
37 #ifdef __STDC__
38         double fabs(double x)
39 #else
40         double fabs(x)
41         double x;
42 #endif
43 {
44         return (double) fabsf((float) x);
45 }
46
47 #endif /* defined(_DOUBLE_IS_32BITS) */