Welcome! Log In Create A New Profile

Advanced

[njs] Removed redefinition of isinf() and isnan().

Valentin Bartenev
November 04, 2016 11:26AM
details: http://hg.nginx.org/njs/rev/109932e1d3c8
branches:
changeset: 238:109932e1d3c8
user: Valentin Bartenev <vbart@nginx.com>
date: Fri Nov 04 18:25:55 2016 +0300
description:
Removed redefinition of isinf() and isnan().

diffstat:

njs/njs_array.c | 4 +-
njs/njs_date.c | 66 ++++++++++++++++++++++++++++----------------------------
njs/njs_math.c | 2 +-
njs/njs_number.c | 8 +++---
njs/njs_number.h | 8 ------
njs/njs_string.c | 2 +-
njs/njs_vm.c | 6 +---
njs/njs_vm.h | 2 +-
8 files changed, 44 insertions(+), 54 deletions(-)

diffs (429 lines):

diff -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_array.c
--- a/njs/njs_array.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_array.c Fri Nov 04 18:25:55 2016 +0300
@@ -1131,12 +1131,12 @@ njs_array_prototype_includes(njs_vm_t *v
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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_date.c
--- a/njs/njs_date.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_date.c Fri Nov 04 18:25:55 2016 +0300
@@ -114,7 +114,7 @@ njs_date_constructor(njs_vm_t *vm, njs_v

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 *

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
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_

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_

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_

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

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 *v

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_

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

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

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,

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

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 *v

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_

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

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_v

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

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_

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(n

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

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_

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

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

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_v

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 *v

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_

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

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

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 *v

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_

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_

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

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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_math.c
--- a/njs/njs_math.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_math.c Fri Nov 04 18:25:55 2016 +0300
@@ -342,7 +342,7 @@ njs_object_math_sign(njs_vm_t *vm, njs_v
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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_number.c
--- a/njs/njs_number.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_number.c Fri Nov 04 18:25:55 2016 +0300
@@ -177,10 +177,10 @@ njs_number_to_string(njs_vm_t *vm, njs_v

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_valu

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_v
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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_number.h
--- a/njs/njs_number.h Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_number.h Fri Nov 04 18:25:55 2016 +0300
@@ -11,14 +11,6 @@
#include <math.h>


-#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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_string.c
--- a/njs/njs_string.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_string.c Fri Nov 04 18:25:55 2016 +0300
@@ -1174,7 +1174,7 @@ njs_string_from_char_code(njs_vm_t *vm,

for (i = 1; i < nargs; i++) {
num = args[i].data.u.number;
- if (njs_is_nan(num)) {
+ if (isnan(num)) {
goto range_error;
}

diff -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_vm.c
--- a/njs/njs_vm.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_vm.c Fri Nov 04 18:25:55 2016 +0300
@@ -1973,9 +1973,7 @@ njs_values_compare(njs_value_t *val1, nj
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_val

/* 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 -r bcd4910c5be9 -r 109932e1d3c8 njs/njs_vm.h
--- a/njs/njs_vm.h Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_vm.h Fri Nov 04 18:25:55 2016 +0300
@@ -376,7 +376,7 @@ typedef njs_ret_t (*njs_vmcode_operation
/* 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) \

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Removed redefinition of isinf() and isnan().

Valentin Bartenev 396 November 04, 2016 11:26AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 308
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready