Skip to content

Commit f90eeb5

Browse files
committedNov 18, 2024
Simplify definition of NaN
Replace u64->double bitcast with 0.0/0.0
1 parent f93dd58 commit f90eeb5

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed
 

‎quickjs.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -41116,7 +41116,7 @@ static const JSCFunctionListEntry js_number_funcs[] = {
4111641116
JS_CFUNC_DEF("isSafeInteger", 1, js_number_isSafeInteger ),
4111741117
JS_PROP_DOUBLE_DEF("MAX_VALUE", 1.7976931348623157e+308, 0 ),
4111841118
JS_PROP_DOUBLE_DEF("MIN_VALUE", 5e-324, 0 ),
41119-
JS_PROP_U2D_DEF("NaN", 0x7FF8ull<<48, 0 ), // workaround for msvc
41119+
JS_PROP_DOUBLE_DEF("NaN", 0.0/0.0, 0 ), // workaround for msvc
4112041120
JS_PROP_DOUBLE_DEF("NEGATIVE_INFINITY", -INFINITY, 0 ),
4112141121
JS_PROP_DOUBLE_DEF("POSITIVE_INFINITY", INFINITY, 0 ),
4112241122
JS_PROP_DOUBLE_DEF("EPSILON", 2.220446049250313e-16, 0 ), /* ES6 */
@@ -50197,7 +50197,7 @@ static const JSCFunctionListEntry js_global_funcs[] = {
5019750197
JS_CFUNC_DEF("escape", 1, js_global_escape ),
5019850198
JS_CFUNC_DEF("unescape", 1, js_global_unescape ),
5019950199
JS_PROP_DOUBLE_DEF("Infinity", 1.0 / 0.0, 0 ),
50200-
JS_PROP_U2D_DEF("NaN", 0x7FF8ull<<48, 0 ), // workaround for msvc
50200+
JS_PROP_DOUBLE_DEF("NaN", 0.0/0.0, 0 ), // workaround for msvc
5020150201
JS_PROP_UNDEFINED_DEF("undefined", 0 ),
5020250202
JS_PROP_STRING_DEF("[Symbol.toStringTag]", "global", JS_PROP_CONFIGURABLE ),
5020350203
};

‎quickjs.h

-2
Original file line numberDiff line numberDiff line change
@@ -970,7 +970,6 @@ typedef struct JSCFunctionListEntry {
970970
const char *str; /* pure ASCII or UTF-8 encoded */
971971
int32_t i32;
972972
int64_t i64;
973-
uint64_t u64;
974973
double f64;
975974
} u;
976975
} JSCFunctionListEntry;
@@ -999,7 +998,6 @@ typedef struct JSCFunctionListEntry {
999998
#define JS_PROP_INT32_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_INT32, 0, { .i32 = val } }
1000999
#define JS_PROP_INT64_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_INT64, 0, { .i64 = val } }
10011000
#define JS_PROP_DOUBLE_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_DOUBLE, 0, { .f64 = val } }
1002-
#define JS_PROP_U2D_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_DOUBLE, 0, { .u64 = val } }
10031001
#define JS_PROP_UNDEFINED_DEF(name, prop_flags) { name, prop_flags, JS_DEF_PROP_UNDEFINED, 0, { .i32 = 0 } }
10041002
#define JS_OBJECT_DEF(name, tab, len, prop_flags) { name, prop_flags, JS_DEF_OBJECT, 0, { .prop_list = { tab, len } } }
10051003
#define JS_ALIAS_DEF(name, from) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_ALIAS, 0, { .alias = { from, -1 } } }

0 commit comments

Comments
 (0)