]> www.ginac.de Git - cln.git/blob - src/float/sfloat/misc/cl_SF_signum.cc
Fix linking problems on some platforms caused by inline/non-inline versions
[cln.git] / src / float / sfloat / misc / cl_SF_signum.cc
1 // signum().
2
3 // General includes.
4 #include "cl_sysdep.h"
5
6 // Specification.
7 #include "cln/sfloat.h"
8
9
10 // Implementation.
11
12 #include "cl_SF.h"
13
14 /* Use inline versions of minusp and zerop */
15 #include "cl_inline.h"
16 #include "cl_SF_minusp.cc"
17 #include "cl_SF_zerop.cc"
18
19 namespace cln {
20
21 CL_INLINE2 const cl_SF CL_INLINE2_DECL(signum) (const cl_SF& x)
22 {
23         if (minusp_inline(x)) { return SF_minus1; } // x<0 -> -1.0
24         elif (zerop_inline(x)) { return SF_0; } // x=0 -> 0.0
25         else { return SF_1; } // x>0 -> +1.0
26 }
27
28 }  // namespace cln