Skip to content

Commit

Permalink
Minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
merendamattia committed Mar 1, 2024
1 parent 3e40c48 commit 24a9be2
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/main/java/it/unipr/EVMLiSA.java
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ private void go(String[] args) throws Exception {
System.exit(1);
}

OUTPUT_DIR += addressSC + "/";
OUTPUT_DIR += "/" + addressSC;
Files.createDirectories(Paths.get(OUTPUT_DIR));

if (outputDir == null)
Expand Down
37 changes: 29 additions & 8 deletions src/main/java/it/unipr/analysis/Number.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,31 +69,47 @@ else if (other.getType() == Type.LONG)
}

public Number add(Number other) {
BigInteger me = toBigInteger(this);
if(this.getType() == other.getType() && other.getType() == Type.INT)
return new Number(i + other.getInt());
if(this.getType() == other.getType() && other.getType() == Type.LONG)
return new Number(l + other.getLong());

BigInteger ot = toBigInteger(other);

return new Number(me.add(ot));
return new Number(b.add(ot));
}

public Number subtract(Number other) {
BigInteger me = toBigInteger(this);
if(this.getType() == other.getType() && other.getType() == Type.INT)
return new Number(i - other.getInt());
if(this.getType() == other.getType() && other.getType() == Type.LONG)
return new Number(l - other.getLong());

BigInteger ot = toBigInteger(other);

return new Number(me.subtract(ot));
return new Number(b.subtract(ot));
}

public Number multiply(Number other) {
BigInteger me = toBigInteger(this);
if(this.getType() == other.getType() && other.getType() == Type.INT)
return new Number(i * other.getInt());
if(this.getType() == other.getType() && other.getType() == Type.LONG)
return new Number(l * other.getLong());

BigInteger ot = toBigInteger(other);

return new Number(me.multiply(ot));
return new Number(b.multiply(ot));
}

public Number divide(Number other) {
BigInteger me = toBigInteger(this);
if(this.getType() == other.getType() && other.getType() == Type.INT)
return new Number(i / other.getInt());
if(this.getType() == other.getType() && other.getType() == Type.LONG)
return new Number(l / other.getLong());

BigInteger ot = toBigInteger(other);

return new Number(me.divide(ot));
return new Number(b.divide(ot));
}

public Number and(Number other) {
Expand Down Expand Up @@ -158,6 +174,11 @@ public String toString() {

@Override
public int compareTo(Number other) {
if(this.getType() == other.getType() && other.getType() == Type.INT)
return i > other.getInt() ? (+1) : i < other.getInt() ? (-1) : 0;
if(this.getType() == other.getType() && other.getType() == Type.LONG)
return i > other.getLong() ? (+1) : i < other.getLong() ? (-1) : 0;

BigInteger me = toBigInteger(this);
BigInteger ot = toBigInteger(other);

Expand Down

0 comments on commit 24a9be2

Please sign in to comment.