diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | awk.h | 7 | ||||
-rw-r--r-- | builtin.c | 4 | ||||
-rw-r--r-- | floatcomp.c | 24 |
4 files changed, 11 insertions, 31 deletions
@@ -1,3 +1,10 @@ +2013-12-10 Arnold D. Robbins <arnold@skeeve.com> + + * awk.h (Floor, Ceil): Remove declarations and VMS redefinitions. + * floatcomp.c (Floor, Ceil): Removed, not needed. Move bracketing + ifdef to the top of the file. + * builtin.c (double_to_int): Use floor() and ceil(). + 2013-12-07 Arnold D. Robbins <arnold@skeeve.com> * regex_internal.h (__attribute__): Define to empty if not GCC. @@ -1661,13 +1661,6 @@ extern NODE **function_list(bool sort); extern void print_vars(NODE **table, Func_print print_func, FILE *fp); /* floatcomp.c */ -#ifdef VMS /* VMS linker weirdness? */ -#define Ceil gawk_ceil -#define Floor gawk_floor -#endif - -extern AWKNUM Floor(AWKNUM n); -extern AWKNUM Ceil(AWKNUM n); #ifdef HAVE_UINTMAX_T extern uintmax_t adjust_uint(uintmax_t n); #else @@ -469,9 +469,9 @@ double double_to_int(double d) { if (d >= 0) - d = Floor(d); + d = floor(d); else - d = Ceil(d); + d = ceil(d); return d; } diff --git a/floatcomp.c b/floatcomp.c index 9d24a67f..16a6d88e 100644 --- a/floatcomp.c +++ b/floatcomp.c @@ -26,6 +26,8 @@ #include "awk.h" #include <math.h> +#ifdef HAVE_UINTMAX_T + /* Assume IEEE-754 arithmetic on pre-C89 hosts. */ #ifndef FLT_RADIX #define FLT_RADIX 2 @@ -69,28 +71,6 @@ Please port the following code to your weird host; #define AWKNUM_FRACTION_BITS (AWKNUM_MANT_DIG * (FLT_RADIX == 2 ? 1 : 4)) #define DBL_FRACTION_BITS (DBL_MANT_DIG * (FLT_RADIX == 2 ? 1 : 4)) -/* - * Floor and Ceil --- Work around a problem in conversion of - * doubles to exact integers. - */ - -/* Floor --- do floor(), also for Cray */ - -AWKNUM -Floor(AWKNUM n) -{ - return floor(n); -} - -/* Ceil --- do ceil(), also for Cray */ - -AWKNUM -Ceil(AWKNUM n) -{ - return ceil(n); -} - -#ifdef HAVE_UINTMAX_T /* adjust_uint --- fiddle with values, ask Paul Eggert to explain */ uintmax_t |