diff options
Diffstat (limited to 'newlib/libm/common/s_log2.c')
-rw-r--r-- | newlib/libm/common/s_log2.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/newlib/libm/common/s_log2.c b/newlib/libm/common/s_log2.c deleted file mode 100644 index 7ad2cd88b..000000000 --- a/newlib/libm/common/s_log2.c +++ /dev/null @@ -1,85 +0,0 @@ -/* @(#)s_log2.c 5.1 93/09/24 */ -/* Modification from s_exp10.c Yaakov Selkowitz 2009. */ - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* -FUNCTION - <<log2>>, <<log2f>>--base 2 logarithm -INDEX - log2 -INDEX - log2f - -ANSI_SYNOPSIS - #include <math.h> - double log2(double <[x]>); - float log2f(float <[x]>); - -DESCRIPTION -The <<log2>> functions compute the base-2 logarithm of <[x]>. A domain error -occurs if the argument is less than zero. A range error occurs if the -argument is zero. - -The Newlib implementations are not full, intrinisic calculations, but -rather are derivatives based on <<log>>. (Accuracy might be slightly off from -a direct calculation.) In addition to functions, they are also implemented as -macros defined in math.h: -. #define log2(x) (log (x) / _M_LOG2_E) -. #define log2f(x) (logf (x) / (float) _M_LOG2_E) -To use the functions instead, just undefine the macros first. - -You can use the (non-ANSI) function <<matherr>> to specify error -handling for these functions, indirectly through the respective <<log>> -function. - -RETURNS -The <<log2>> functions return -@ifnottex -<<log base-2(<[x]>)>> -@end ifnottex -@tex -$log_2(x)$ -@end tex -on success. -When <[x]> is zero, the -returned value is <<-HUGE_VAL>> and <<errno>> is set to <<ERANGE>>. -When <[x]> is negative, the returned value is NaN (not a number) and -<<errno>> is set to <<EDOM>>. You can control the error behavior via -<<matherr>>. - -PORTABILITY -C99, POSIX, System V Interface Definition (Issue 6). -*/ - -/* - * wrapper log2(x) - */ - -#include "fdlibm.h" -#include <errno.h> -#include <math.h> -#undef log2 - -#ifndef _DOUBLE_IS_32BITS - -#ifdef __STDC__ - double log2(double x) /* wrapper log2 */ -#else - double log2(x) /* wrapper log2 */ - double x; -#endif -{ - return (log(x) / M_LOG2_E); -} - -#endif /* defined(_DOUBLE_IS_32BITS) */ |