Browse Source

exact/param: BigRational: Use static BigRational.ONE/BigRational.ZERO for conversion from boolean

Previously, when converting from boolean to BigRational, a fresh object was allocated. However,
as BigRationals are immutable, we can just return BigRational.ONE or .ZERO, respectively.

Tag: performance?
master
Joachim Klein 8 years ago
parent
commit
9805d64f00
  1. 2
      prism/src/param/BigRational.java

2
prism/src/param/BigRational.java

@ -273,7 +273,7 @@ public final class BigRational extends Number implements Comparable<BigRational>
return new BigRational((long) value);
} else if (value instanceof Boolean) {
boolean v = (Boolean)value;
return new BigRational(v ? 1 : 0);
return v ? BigRational.ONE : BigRational.ZERO;
} else if (value instanceof Double) {
// TODO: ? might be imprecise, perhaps there
// is a way to get the full precision?

Loading…
Cancel
Save