diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-07 12:37:06 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-07 12:37:06 -0700 |
| commit | 514b3147bf08817d17aacc492be255621209ec8b (patch) | |
| tree | d0bc5ba23705d7dae5f0dee3cab15c9beab70917 /chapter18/src/main/java/com | |
| parent | 5f51534493763d4aab2f2fc34767de953a08e6a3 (diff) | |
| download | Simple-514b3147bf08817d17aacc492be255621209ec8b.tar.gz Simple-514b3147bf08817d17aacc492be255621209ec8b.zip | |
RoundF32 actually rounds
Diffstat (limited to 'chapter18/src/main/java/com')
| -rw-r--r-- | chapter18/src/main/java/com/seaofnodes/simple/node/RoundF32Node.java | 1 | ||||
| -rw-r--r-- | chapter18/src/main/java/com/seaofnodes/simple/type/TypeStruct.java | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/chapter18/src/main/java/com/seaofnodes/simple/node/RoundF32Node.java b/chapter18/src/main/java/com/seaofnodes/simple/node/RoundF32Node.java index 78e7698c..10a0e4aa 100644 --- a/chapter18/src/main/java/com/seaofnodes/simple/node/RoundF32Node.java +++ b/chapter18/src/main/java/com/seaofnodes/simple/node/RoundF32Node.java @@ -16,6 +16,7 @@ public class RoundF32Node extends Node { public Type compute() { if (in(1)._type instanceof TypeFloat i0 && i0.isConstant() ) return TypeFloat.constant((float)i0.value()); + if( in(1)._type==TypeFloat.F64 ) return TypeFloat.F32; return in(1)._type; } diff --git a/chapter18/src/main/java/com/seaofnodes/simple/type/TypeStruct.java b/chapter18/src/main/java/com/seaofnodes/simple/type/TypeStruct.java index bc640955..fff6a7db 100644 --- a/chapter18/src/main/java/com/seaofnodes/simple/type/TypeStruct.java +++ b/chapter18/src/main/java/com/seaofnodes/simple/type/TypeStruct.java @@ -49,7 +49,7 @@ public class TypeStruct extends Type { // Array public static TypeStruct makeAry(TypeInteger len, int lenAlias, Type body, int bodyAlias) { - assert body instanceof TypeInteger || (body instanceof TypeNil tn && tn.nullable()); + assert body instanceof TypeInteger || body instanceof TypeFloat || (body instanceof TypeNil tn && tn.nullable()); return make("[" + body.str() + "]", Field.make("#" ,len , lenAlias,true ), Field.make("[]",body,bodyAlias,false)); |
