diff options
-rw-r--r-- | src/parsing.h | 4 | ||||
-rw-r--r-- | src/wasm-interpreter.h | 4 | ||||
-rw-r--r-- | src/wasm.h | 20 |
3 files changed, 14 insertions, 14 deletions
diff --git a/src/parsing.h b/src/parsing.h index ed2f65b59..935750537 100644 --- a/src/parsing.h +++ b/src/parsing.h @@ -79,7 +79,7 @@ Expression* parseConst(cashew::IString s, WasmType type, MixedArena& allocator) pattern = 0x7fc00000U; } if (negative) pattern |= 0x80000000U; - if (!isnan(bit_cast<float>(pattern))) pattern |= 1U; + if (!std::isnan(bit_cast<float>(pattern))) pattern |= 1U; ret->value = Literal(pattern).castToF32(); break; } @@ -93,7 +93,7 @@ Expression* parseConst(cashew::IString s, WasmType type, MixedArena& allocator) pattern = 0x7ff8000000000000UL; } if (negative) pattern |= 0x8000000000000000ULL; - if (!isnan(bit_cast<double>(pattern))) pattern |= 1ULL; + if (!std::isnan(bit_cast<double>(pattern))) pattern |= 1ULL; ret->value = Literal(pattern).castToF64(); break; } diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index e7a5d6d14..4af410de1 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -636,7 +636,7 @@ private: Literal truncSFloat(Unary* curr, Literal value) { double val = value.getFloat(); - if (isnan(val)) trap("truncSFloat of nan"); + if (std::isnan(val)) trap("truncSFloat of nan"); if (curr->type == i32) { if (val > (double)std::numeric_limits<int32_t>::max() || val < (double)std::numeric_limits<int32_t>::min()) trap("i32.truncSFloat overflow"); return Literal(int32_t(val)); @@ -649,7 +649,7 @@ private: Literal truncUFloat(Unary* curr, Literal value) { double val = value.getFloat(); - if (isnan(val)) trap("truncUFloat of nan"); + if (std::isnan(val)) trap("truncUFloat of nan"); if (curr->type == i32) { if (val > (double)std::numeric_limits<uint32_t>::max() || val <= (double)-1) trap("i32.truncUFloat overflow"); return Literal(uint32_t(val)); diff --git a/src/wasm.h b/src/wasm.h index 7422dd85d..af767b688 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -233,7 +233,7 @@ public: } static void printFloat(std::ostream &o, float f) { - if (isnan(f)) { + if (std::isnan(f)) { const char *sign = std::signbit(f) ? "-" : ""; o << sign << "nan"; if (uint32_t payload = ~0xff800000u & bit_cast<uint32_t>(f)) { @@ -249,7 +249,7 @@ public: o << "-0"; return; } - if (isnan(d)) { + if (std::isnan(d)) { const char *sign = std::signbit(d) ? "-" : ""; o << sign << "nan"; if (uint64_t payload = ~0xfff0000000000000ull & bit_cast<uint64_t>(d)) { @@ -628,8 +628,8 @@ public: auto l = getf32(), r = other.getf32(); if (l == r && l == 0) return Literal(std::signbit(l) ? l : r); auto result = std::min(l, r); - bool lnan = isnan(l), rnan = isnan(r); - if (!isnan(result) && !lnan && !rnan) return Literal(result); + bool lnan = std::isnan(l), rnan = std::isnan(r); + if (!std::isnan(result) && !lnan && !rnan) return Literal(result); if (!lnan && !rnan) return Literal((int32_t)0x7fc00000).castToF32(); return Literal(lnan ? l : r).castToI32().or_(Literal(0xc00000)).castToF32(); } @@ -637,8 +637,8 @@ public: auto l = getf64(), r = other.getf64(); if (l == r && l == 0) return Literal(std::signbit(l) ? l : r); auto result = std::min(l, r); - bool lnan = isnan(l), rnan = isnan(r); - if (!isnan(result) && !lnan && !rnan) return Literal(result); + bool lnan = std::isnan(l), rnan = std::isnan(r); + if (!std::isnan(result) && !lnan && !rnan) return Literal(result); if (!lnan && !rnan) return Literal((int64_t)0x7ff8000000000000LL).castToF64(); return Literal(lnan ? l : r).castToI64().or_(Literal(int64_t(0x8000000000000LL))).castToF64(); } @@ -651,8 +651,8 @@ public: auto l = getf32(), r = other.getf32(); if (l == r && l == 0) return Literal(std::signbit(l) ? r : l); auto result = std::max(l, r); - bool lnan = isnan(l), rnan = isnan(r); - if (!isnan(result) && !lnan && !rnan) return Literal(result); + bool lnan = std::isnan(l), rnan = std::isnan(r); + if (!std::isnan(result) && !lnan && !rnan) return Literal(result); if (!lnan && !rnan) return Literal((int32_t)0x7fc00000).castToF32(); return Literal(lnan ? l : r).castToI32().or_(Literal(0xc00000)).castToF32(); } @@ -660,8 +660,8 @@ public: auto l = getf64(), r = other.getf64(); if (l == r && l == 0) return Literal(std::signbit(l) ? r : l); auto result = std::max(l, r); - bool lnan = isnan(l), rnan = isnan(r); - if (!isnan(result) && !lnan && !rnan) return Literal(result); + bool lnan = std::isnan(l), rnan = std::isnan(r); + if (!std::isnan(result) && !lnan && !rnan) return Literal(result); if (!lnan && !rnan) return Literal((int64_t)0x7ff8000000000000LL).castToF64(); return Literal(lnan ? l : r).castToI64().or_(Literal(int64_t(0x8000000000000LL))).castToF64(); } |