From: Valentin Bartenev Date: Fri, 4 Nov 2016 15:25:55 +0000 (+0300) Subject: Removed redefinition of isinf() and isnan(). X-Git-Tag: 0.1.5~17 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=dc065f639a6019fb160face03f1346e70ddee989;p=njs.git Removed redefinition of isinf() and isnan(). --- diff --git a/njs/njs_array.c b/njs/njs_array.c index 1973f09e..c25f6cd1 100644 --- a/njs/njs_array.c +++ b/njs/njs_array.c @@ -1131,12 +1131,12 @@ njs_array_prototype_includes(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, start = array->start; value = &args[1]; - if (njs_is_number(value) && njs_is_nan(value->data.u.number)) { + if (njs_is_number(value) && isnan(value->data.u.number)) { do { value = &start[i]; - if (njs_is_number(value) && njs_is_nan(value->data.u.number)) { + if (njs_is_number(value) && isnan(value->data.u.number)) { retval = &njs_value_true; break; } diff --git a/njs/njs_date.c b/njs/njs_date.c index fbec9271..4a5f41e1 100644 --- a/njs/njs_date.c +++ b/njs/njs_date.c @@ -114,7 +114,7 @@ njs_date_constructor(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, num = args[i].data.u.number; - if (njs_is_nan(num)) { + if (isnan(num)) { time = num; goto done; } @@ -193,7 +193,7 @@ njs_date_utc(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, num = args[i].data.u.number; - if (njs_is_nan(num)) { + if (isnan(num)) { goto done; } @@ -951,7 +951,7 @@ njs_date_string(njs_vm_t *vm, const char *fmt, double time) u_char buf[NJS_DATE_TIME_LEN]; struct tm tm; - if (!njs_is_nan(time)) { + if (!isnan(time)) { clock = time / 1000; localtime_r(&clock, &tm); @@ -984,7 +984,7 @@ njs_date_prototype_to_utc_string(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (!njs_is_nan(time)) { + if (!isnan(time)) { clock = time / 1000; gmtime_r(&clock, &tm); @@ -1016,7 +1016,7 @@ njs_date_prototype_to_iso_string(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (!njs_is_nan(time)) { + if (!isnan(time)) { clock = time / 1000; gmtime_r(&clock, &tm); @@ -1049,7 +1049,7 @@ njs_date_prototype_get_full_year(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1072,7 +1072,7 @@ njs_date_prototype_get_utc_full_year(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1095,7 +1095,7 @@ njs_date_prototype_get_month(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1118,7 +1118,7 @@ njs_date_prototype_get_utc_month(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1142,7 +1142,7 @@ njs_date_prototype_get_date(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1165,7 +1165,7 @@ njs_date_prototype_get_utc_date(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1188,7 +1188,7 @@ njs_date_prototype_get_day(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1211,7 +1211,7 @@ njs_date_prototype_get_utc_day(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1234,7 +1234,7 @@ njs_date_prototype_get_hours(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1258,7 +1258,7 @@ njs_date_prototype_get_utc_hours(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1281,7 +1281,7 @@ njs_date_prototype_get_minutes(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1305,7 +1305,7 @@ njs_date_prototype_get_utc_minutes(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; gmtime_r(&clock, &tm); @@ -1326,7 +1326,7 @@ njs_date_prototype_get_seconds(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { value = (int64_t) (value / 1000) % 60; } @@ -1344,7 +1344,7 @@ njs_date_prototype_get_milliseconds(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { value = (int64_t) value % 1000; } @@ -1364,7 +1364,7 @@ njs_date_prototype_get_timezone_offset(njs_vm_t *vm, njs_value_t *args, value = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(value))) { + if (nxt_fast_path(!isnan(value))) { clock = value / 1000; localtime_r(&clock, &tm); @@ -1385,7 +1385,7 @@ njs_date_prototype_set_time(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { time = args[1].data.u.number; @@ -1410,7 +1410,7 @@ njs_date_prototype_set_milliseconds(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { time = (int64_t) (time / 1000) * 1000 + args[1].data.u.number; @@ -1436,7 +1436,7 @@ njs_date_prototype_set_seconds(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { sec = args[1].data.u.number; @@ -1467,7 +1467,7 @@ njs_date_prototype_set_minutes(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1504,7 +1504,7 @@ njs_date_prototype_set_utc_minutes(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1541,7 +1541,7 @@ njs_date_prototype_set_hours(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1582,7 +1582,7 @@ njs_date_prototype_set_utc_hours(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1619,7 +1619,7 @@ njs_date_prototype_set_date(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1651,7 +1651,7 @@ njs_date_prototype_set_utc_date(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1683,7 +1683,7 @@ njs_date_prototype_set_month(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1719,7 +1719,7 @@ njs_date_prototype_set_utc_month(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1755,7 +1755,7 @@ njs_date_prototype_set_full_year(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; @@ -1795,7 +1795,7 @@ njs_date_prototype_set_utc_full_year(njs_vm_t *vm, njs_value_t *args, time = args[0].data.u.date->time; - if (nxt_fast_path(!njs_is_nan(time))) { + if (nxt_fast_path(!isnan(time))) { if (nargs > 1) { clock = time / 1000; diff --git a/njs/njs_math.c b/njs/njs_math.c index f7b9fd8c..7b0297ee 100644 --- a/njs/njs_math.c +++ b/njs/njs_math.c @@ -342,7 +342,7 @@ njs_object_math_sign(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, if (nargs > 1) { num = args[1].data.u.number; - if (!njs_is_nan(num) && num != 0) { + if (!isnan(num) && num != 0) { num = signbit(num) ? -1 : 1; } diff --git a/njs/njs_number.c b/njs/njs_number.c index 15475777..b3427556 100644 --- a/njs/njs_number.c +++ b/njs/njs_number.c @@ -177,10 +177,10 @@ njs_number_to_string(njs_vm_t *vm, njs_value_t *string, num = number->data.u.number; - if (njs_is_nan(num)) { + if (isnan(num)) { value = &njs_string_nan; - } else if (njs_is_infinity(num)) { + } else if (isinf(num)) { if (num < 0) { value = &njs_string_minus_infinity; @@ -445,7 +445,7 @@ njs_number_is_nan(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, value = &njs_value_true; - if (nargs > 1 && !njs_is_nan(args[1].data.u.number)) { + if (nargs > 1 && !isnan(args[1].data.u.number)) { value = &njs_value_false; } @@ -467,7 +467,7 @@ njs_number_is_finite(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, if (nargs > 1) { num = args[1].data.u.number; - if (!njs_is_nan(num) && !njs_is_infinity(num)) { + if (!isnan(num) && !isinf(num)) { value = &njs_value_true; } } diff --git a/njs/njs_number.h b/njs/njs_number.h index 1dcd26a4..8190a6cc 100644 --- a/njs/njs_number.h +++ b/njs/njs_number.h @@ -11,14 +11,6 @@ #include -#define njs_is_infinity(n) \ - isinf(n) - - -#define njs_is_nan(n) \ - isnan(n) - - double njs_value_to_number(njs_value_t *value); double njs_number_parse(const u_char **start, const u_char *end); int64_t njs_number_radix_parse(u_char *p, u_char *end, uint8_t radix, diff --git a/njs/njs_string.c b/njs/njs_string.c index beb65bbb..da15ec62 100644 --- a/njs/njs_string.c +++ b/njs/njs_string.c @@ -1174,7 +1174,7 @@ njs_string_from_char_code(njs_vm_t *vm, njs_value_t *args, for (i = 1; i < nargs; i++) { num = args[i].data.u.number; - if (njs_is_nan(num)) { + if (isnan(num)) { goto range_error; } diff --git a/njs/njs_vm.c b/njs/njs_vm.c index 2e632aa8..00daacd7 100644 --- a/njs/njs_vm.c +++ b/njs/njs_vm.c @@ -1973,9 +1973,7 @@ njs_values_compare(njs_value_t *val1, njs_value_t *val2) if (nxt_fast_path(njs_is_numeric(val1) && njs_is_numeric(val2))) { /* NaN and void values are not comparable with anything. */ - if (njs_is_nan(val1->data.u.number) - || njs_is_nan(val2->data.u.number)) - { + if (isnan(val1->data.u.number) || isnan(val2->data.u.number)) { return -1; } @@ -2471,7 +2469,7 @@ njs_normalize_args(njs_vm_t *vm, njs_value_t *args, uint8_t *args_types, /* Numbers are truncated to fit in 32-bit integers. */ - if (njs_is_nan(args->data.u.number)) { + if (isnan(args->data.u.number)) { args->data.u.number = 0; } else if (args->data.u.number > 2147483647.0) { diff --git a/njs/njs_vm.h b/njs/njs_vm.h index b393bb0c..ab8ec7ca 100644 --- a/njs/njs_vm.h +++ b/njs/njs_vm.h @@ -376,7 +376,7 @@ typedef njs_ret_t (*njs_vmcode_operation_t)(njs_vm_t *vm, njs_value_t *value1, /* Testing for NaN first generates a better code at least on i386/amd64. */ #define njs_is_number_true(num) \ - (!njs_is_nan(num) && num != 0) + (!isnan(num) && num != 0) #define njs_is_numeric(value) \