]> Zhao Yanbai Git Server - minix.git/commitdiff
Add scalbn family of functions
authorErik van der Kouwe <erik@minix3.org>
Fri, 8 Jan 2010 07:27:54 +0000 (07:27 +0000)
committerErik van der Kouwe <erik@minix3.org>
Fri, 8 Jan 2010 07:27:54 +0000 (07:27 +0000)
include/math.h
lib/math/Makefile.in
lib/math/scalbn.c [new file with mode: 0644]
man/man3/ldexp.3 [new file with mode: 0644]

index 81778e429e3b7a2d429958fe5438e9a1bb0beabd..264fe0f738af83910925ec0805a8d2758c7fe427 100644 (file)
@@ -34,6 +34,10 @@ _PROTOTYPE( double log10, (double _x)                                        );
 _PROTOTYPE( double modf,  (double _x, double *_iptr)                   );
 _PROTOTYPE( double pow,   (double _x, double _y)                       );
 _PROTOTYPE( double rint,  (double _x)                                  );
+_PROTOTYPE( double scalbn, (double _x, int _exp)                       );
+_PROTOTYPE( float scalbnf, (float _x, int _exp)                                );
+_PROTOTYPE( double scalbln, (double _x, long _exp)                     );
+_PROTOTYPE( float scalblnf, (float _x, long _exp)                      );
 _PROTOTYPE( double sin,   (double _x)                                  );
 _PROTOTYPE( double sinh,  (double _x)                                  );
 _PROTOTYPE( double sqrt,  (double _x)                                  );
index 434ca242e2d5ebce6d43371df3814044e07f004e..3d949b73fc0f40399df9ecc0b84324e9ddb245c4 100644 (file)
@@ -19,6 +19,7 @@ libc_FILES=" \
        log10.c \
        pow.c \
        s_rint.c \
+       scalbn.c \
        sin.c \
        sinh.c \
        sqrt.c \
diff --git a/lib/math/scalbn.c b/lib/math/scalbn.c
new file mode 100644 (file)
index 0000000..311c40e
--- /dev/null
@@ -0,0 +1,22 @@
+#include <math.h>
+
+double scalbln(double x, long n)
+{
+       return ldexp(x, n);
+}
+
+float scalblnf(float x, long n)
+{
+       return ldexp(x, n);
+}
+
+double scalbn(double x, int n)
+{
+       return ldexp(x, n);
+}
+
+float scalbnf(float x, int n)
+{
+       return ldexp(x, n);
+}
+
diff --git a/man/man3/ldexp.3 b/man/man3/ldexp.3
new file mode 100644 (file)
index 0000000..87792d4
--- /dev/null
@@ -0,0 +1,19 @@
+.TH LDEXP 3 "January 7, 2009"
+.UC 4
+.SH NAME
+ldexp, scalbn, scalbnf, scalbln, scalblnf \- compute absolute value
+.SH SYNOPSIS
+.nf
+.ft B
+#include <math.h>
+
+double ldexp(double \fIx\fP, int \fIn\fP);
+double scalbn(double \fIx\fP, int \fIn\fP);
+float scalbnf(float \fIx\fP, int \fIn\fP);
+double scalbln(double \fIx\fP, long \fIn\fP);
+float scalblnf(float \fIx\fP, long \fIn\fP);
+.fi
+.SH DESCRIPTION
+These functions all compute \fIx\fP * 2^\fIn\fP.
+.SH "RETURN VALUE
+These functions all return \fIx\fP * 2^\fIn\fP.