diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 14:06:22 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 14:06:22 -0800 |
commit | a991641006b201ce99878d09d7c2ee61ab5d138f (patch) | |
tree | c99056ffd6c41c5f9314de69b3b6fe0632199a09 /src/wasm-interpreter.h | |
parent | accc583fb7e0c859d7beffeab4120a79f527b282 (diff) | |
download | binaryen-a991641006b201ce99878d09d7c2ee61ab5d138f.tar.gz binaryen-a991641006b201ce99878d09d7c2ee61ab5d138f.tar.bz2 binaryen-a991641006b201ce99878d09d7c2ee61ab5d138f.zip |
negative nans
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index dae45d529..13c476160 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -345,10 +345,7 @@ public: case Sub: return Flow(Literal(l - r)); case Mul: return Flow(Literal(l * r)); case Div: return Flow(Literal(l / r)); - case CopySign: { - if (isnan(r)) r = 0; - return Literal(std::copysign(l, r)); - } + case CopySign: return Literal(std::copysign(l, r)); case Min: { if (l == r && l == 0) return Literal(1/l < 0 ? l : r); return Literal(std::min(l, r)); @@ -366,10 +363,7 @@ public: case Sub: return Flow(Literal(l - r)); case Mul: return Flow(Literal(l * r)); case Div: return Flow(Literal(l / r)); - case CopySign: { - if (isnan(r)) r = 0; - return Literal(std::copysign(l, r)); - } + case CopySign: return Literal(std::copysign(l, r)); case Min: { if (l == r && l == 0) return Literal(1/l < 0 ? l : r); return Literal(std::min(l, r)); |