From d4e14be19ef5c598ac76ab79135264ea5e162385 Mon Sep 17 00:00:00 2001 From: gaborsch Date: Thu, 21 Mar 2024 22:02:56 +0100 Subject: [PATCH] Fixed bug https://github.com/gaborsch/rocky/issues/52 --- rocky.jar | Bin 286181 -> 286334 bytes src/rockstar/expression/NotExpression.java | 2 +- .../expression/UnaryMinusExpression.java | 2 +- src/rockstar/runtime/RockNumber.java | 2 ++ .../runtime/RockNumberBigDecimal.java | 1 + src/rockstar/runtime/RockNumberDec64.java | 1 + src/rockstar/runtime/RockNumberDouble.java | 9 ++++++++- src/rockstar/runtime/Value.java | 14 +++++++++++--- .../statement/DecrementStatement.java | 2 +- .../statement/IncrementStatement.java | 2 +- 10 files changed, 27 insertions(+), 8 deletions(-) diff --git a/rocky.jar b/rocky.jar index 51fcd421f5907c4368843212c51b055ced1d0698..6502fa0a628a6a059a886046934618f108c29ee2 100644 GIT binary patch delta 32265 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%0AjV542x!72X{r=*+kCnM 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 T7#c-)BnU9Dom8d=y?x?;)n-Yl delta 31729 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 diff --git a/src/rockstar/expression/NotExpression.java b/src/rockstar/expression/NotExpression.java index f3bb930..83c74a4 100644 --- a/src/rockstar/expression/NotExpression.java +++ b/src/rockstar/expression/NotExpression.java @@ -33,7 +33,7 @@ public Value evaluate(BlockContext ctx) { ctx.beforeExpression(this); Expression expr = this.getParameters().get(0); Value v = expr.evaluate(ctx); - return ctx.afterExpression(this, v.negate()); + return ctx.afterExpression(this, v.negateBoolean()); } @Override diff --git a/src/rockstar/expression/UnaryMinusExpression.java b/src/rockstar/expression/UnaryMinusExpression.java index df961fc..d82b12b 100644 --- a/src/rockstar/expression/UnaryMinusExpression.java +++ b/src/rockstar/expression/UnaryMinusExpression.java @@ -33,7 +33,7 @@ public Value evaluate(BlockContext ctx) { ctx.beforeExpression(this); Expression expr1 = this.getParameters().get(0); Value v1 = expr1.evaluate(ctx); - return ctx.afterExpression(this, Value.NULL.minus(v1)); + return ctx.afterExpression(this, v1.negateNumeric()); } @Override diff --git a/src/rockstar/runtime/RockNumber.java b/src/rockstar/runtime/RockNumber.java index bb2c216..ed18546 100644 --- a/src/rockstar/runtime/RockNumber.java +++ b/src/rockstar/runtime/RockNumber.java @@ -90,4 +90,6 @@ public static RockNumber getValueFromLong(long l) { public abstract RockNumber floor(); public abstract RockNumber round(); + protected abstract RockNumber negate(); + } diff --git a/src/rockstar/runtime/RockNumberBigDecimal.java b/src/rockstar/runtime/RockNumberBigDecimal.java index feecf94..fba2f60 100644 --- a/src/rockstar/runtime/RockNumberBigDecimal.java +++ b/src/rockstar/runtime/RockNumberBigDecimal.java @@ -96,6 +96,7 @@ public boolean isNegative() { return value.compareTo(ZERO.value) < 0; } + @Override public RockNumberBigDecimal negate() { return create(value.negate()); } diff --git a/src/rockstar/runtime/RockNumberDec64.java b/src/rockstar/runtime/RockNumberDec64.java index b267497..0d40481 100644 --- a/src/rockstar/runtime/RockNumberDec64.java +++ b/src/rockstar/runtime/RockNumberDec64.java @@ -255,6 +255,7 @@ public boolean isNegative() { return mantissa>=0; } + @Override public RockNumberDec64 negate() { return getFromCache(-mantissa, exponent); } diff --git a/src/rockstar/runtime/RockNumberDouble.java b/src/rockstar/runtime/RockNumberDouble.java index fdec8e3..4164f6f 100644 --- a/src/rockstar/runtime/RockNumberDouble.java +++ b/src/rockstar/runtime/RockNumberDouble.java @@ -16,6 +16,9 @@ public class RockNumberDouble extends RockNumber { public final Double dblValue; private RockNumberDouble(Double dblValue) { + if (dblValue != null && dblValue == -0.0) { + dblValue = 0.0; + } this.dblValue = dblValue; } @@ -94,6 +97,11 @@ public RockNumberDouble multiply(RockNumber rn) { public RockNumberDouble divide(RockNumber rn) { return new RockNumberDouble(dblValue / convertToDbl(rn)); } + + @Override + protected RockNumber negate() { + return new RockNumberDouble(-dblValue); + } @Override public int asInt() { @@ -164,6 +172,5 @@ public RockNumber floor() { public RockNumber round() { return new RockNumberDouble((double)Math.round(dblValue)); } - } diff --git a/src/rockstar/runtime/Value.java b/src/rockstar/runtime/Value.java index d7020f1..e0c4c6f 100644 --- a/src/rockstar/runtime/Value.java +++ b/src/rockstar/runtime/Value.java @@ -381,9 +381,17 @@ public String describe() { return null; } - public Value negate() { - // bool negation - return getBool() ? BOOLEAN_FALSE : BOOLEAN_TRUE; + public Value negateBoolean() { + return getBool() ? BOOLEAN_FALSE : BOOLEAN_TRUE; + } + + public Value negateNumeric() { + switch (this.type) { + case NUMBER: + return Value.getValue(getNumeric().negate()); + default: + throw new RockstarRuntimeException("Cannot negate "+this.getType()+" type"); + } } public Value plus(Value other) { diff --git a/src/rockstar/statement/DecrementStatement.java b/src/rockstar/statement/DecrementStatement.java index edbfd5a..9e1c8f8 100644 --- a/src/rockstar/statement/DecrementStatement.java +++ b/src/rockstar/statement/DecrementStatement.java @@ -58,7 +58,7 @@ public void execute(BlockContext ctx) { v = v.asBoolean(); if (count % 2 == 1) { // negate boolean - v = v.negate(); + v = v.negateBoolean(); } ctx.setVariable(variable, v); return; diff --git a/src/rockstar/statement/IncrementStatement.java b/src/rockstar/statement/IncrementStatement.java index 1ddaead..1c8b3a8 100644 --- a/src/rockstar/statement/IncrementStatement.java +++ b/src/rockstar/statement/IncrementStatement.java @@ -58,7 +58,7 @@ public void execute(BlockContext ctx) { v = v.asBoolean(); if (count % 2 == 1) { // negate boolean - v = v.negate(); + v = v.negateBoolean(); } ctx.setVariable(variable, v); return;