From 703f88dbb2e1e4352a0725b7e742151739b82ea1 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Fri, 13 Sep 2024 09:23:19 -0700 Subject: x-x==0 Move x-x==0 to compute. Add x/1 ==> x All chapters --- chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'chapter04/src') diff --git a/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java b/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java index 1404c900..3b3a4436 100644 --- a/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java +++ b/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java @@ -31,5 +31,10 @@ public class DivNode extends Node { } @Override - public Node idealize() { return null; } + public Node idealize() { + // Div of 1. + if( in(2)._type.isConstant() && in(2)._type instanceof TypeInteger i && i.value()==1 ) + return in(1); + return null; + } } -- cgit v1.2.3