summaryrefslogtreecommitdiff
path: root/chapter24a/src/main
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-28 15:05:08 -0700
committerCliff Click <cliffc@acm.org>2026-10-28 15:05:08 -0700
commit50924bbe7cfeecfe7aec1885dae9bbda0013ac1b (patch)
tree2d04316faa3c73e2a2586de8f95f9b9fb248425f /chapter24a/src/main
parent86ce5bc5d5018dcb62054d214b23f7a59b9c0d7d (diff)
downloadSimple-50924bbe7cfeecfe7aec1885dae9bbda0013ac1b.tar.gz
Simple-50924bbe7cfeecfe7aec1885dae9bbda0013ac1b.zip
Remove _phase checks from Arith & Compute
Fix some monotonicty bugs, rounding bugs, in float ops
Diffstat (limited to 'chapter24a/src/main')
-rw-r--r--chapter24a/src/main/java/com/seaofnodes/simple/node/ArithFNode.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/chapter24a/src/main/java/com/seaofnodes/simple/node/ArithFNode.java b/chapter24a/src/main/java/com/seaofnodes/simple/node/ArithFNode.java
index dafba626..67743aa3 100644
--- a/chapter24a/src/main/java/com/seaofnodes/simple/node/ArithFNode.java
+++ b/chapter24a/src/main/java/com/seaofnodes/simple/node/ArithFNode.java
@@ -23,6 +23,8 @@ public abstract class ArithFNode extends Node {
t2 instanceof TypeFloat f2 ) {
if( f1.isConstant() && f2.isConstant() )
return TypeFloat.constant(doOp(f1.value(),f2.value()));
+ // Two f32 inputs can still produce a result needing f64 precision.
+ return TypeFloat.F64;
}
return t1.meet(t2);
}