summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-05 14:06:22 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-05 14:06:22 -0800
commita991641006b201ce99878d09d7c2ee61ab5d138f (patch)
treec99056ffd6c41c5f9314de69b3b6fe0632199a09 /src/wasm-interpreter.h
parentaccc583fb7e0c859d7beffeab4120a79f527b282 (diff)
downloadbinaryen-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.h10
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));