[GIT] ppl/ppl(master): In Java, avoid useless repeated copies in Coefficient and Linear_Expression.

Module: ppl/ppl Branch: master Commit: 81e816d83312c7ca68c455f663d4e31a82bb08a2 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=81e816d83312c...
Author: Enea Zaffanella zaffanella@cs.unipr.it Date: Fri Apr 24 19:57:52 2009 +0200
In Java, avoid useless repeated copies in Coefficient and Linear_Expression.
---
.../Java/parma_polyhedra_library/Coefficient.java | 10 +++++----- .../Java/parma_polyhedra_library/Constraint.java | 2 +- .../Java/parma_polyhedra_library/Generator.java | 8 +++----- .../Linear_Expression_Coefficient.java | 2 +- .../Linear_Expression_Difference.java | 2 +- .../Linear_Expression_Sum.java | 2 +- .../Linear_Expression_Times.java | 5 ++--- .../Linear_Expression_Unary_Minus.java | 2 +- .../Linear_Expression_Variable.java | 2 +- 9 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/interfaces/Java/parma_polyhedra_library/Coefficient.java b/interfaces/Java/parma_polyhedra_library/Coefficient.java index ce60db0..d70bb63 100644 --- a/interfaces/Java/parma_polyhedra_library/Coefficient.java +++ b/interfaces/Java/parma_polyhedra_library/Coefficient.java @@ -35,14 +35,14 @@ public class Coefficient { //! Holds the value of \p this. private BigInteger value;
- //! Builds a coefficient values \p i. + //! Builds a coefficient valued \p i. public Coefficient(int i) { - value = new BigInteger(Integer.toString(i)); + value = BigInteger.valueOf(i); }
//! Builds a coefficient valued \p l. public Coefficient(long l) { - value = new BigInteger(Long.toString(l)); + value = BigInteger.valueOf(l); }
//! Builds a coefficient valued \p bi. @@ -61,7 +61,7 @@ public class Coefficient {
//! Builds a copy of \p c. public Coefficient(Coefficient c) { - value = new BigInteger(c.value.toString()); + value = c.value; }
//! Returns a String representation of \p this. @@ -75,7 +75,7 @@ public class Coefficient { }
private void set(Coefficient c) { - value = c.getBigInteger(); + value = c.value; }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Constraint.java b/interfaces/Java/parma_polyhedra_library/Constraint.java index cc7b2d0..42962a5 100644 --- a/interfaces/Java/parma_polyhedra_library/Constraint.java +++ b/interfaces/Java/parma_polyhedra_library/Constraint.java @@ -48,7 +48,7 @@ public class Constraint { relation symbol. */ public Constraint(Linear_Expression le1, Relation_Symbol rel_sym, - Linear_Expression le2) { + Linear_Expression le2) { lhs = le1.clone(); rhs = le2.clone(); kind = rel_sym; diff --git a/interfaces/Java/parma_polyhedra_library/Generator.java b/interfaces/Java/parma_polyhedra_library/Generator.java index 6deaa35..ad03802 100644 --- a/interfaces/Java/parma_polyhedra_library/Generator.java +++ b/interfaces/Java/parma_polyhedra_library/Generator.java @@ -60,17 +60,15 @@ public class Generator { \exception RuntimeErrorException Thrown if \p d is zero. */ - public static Generator closure_point(Linear_Expression e, - Coefficient d) { + public static Generator closure_point(Linear_Expression e, Coefficient d) { if (d.getBigInteger().equals(java.math.BigInteger.ZERO)) { Error cause = new Error("parma_polyhedra_library.Generator::" + "Generator(e, d):\n" + "the divisor can not be zero."); throw new RuntimeErrorException(cause); } - Generator g = new Generator(e, Generator_Type.CLOSURE_POINT); - g.div = d; + g.div = new Coefficient(d); return g; }
@@ -98,7 +96,7 @@ public class Generator { }
Generator g = new Generator(e, Generator_Type.POINT); - g.div = d; + g.div = new Coefficient(d); return g; }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java index 765bce3..1514572 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java @@ -42,7 +42,7 @@ public class Linear_Expression_Coefficient
//! Builds a copy of this. public Linear_Expression_Coefficient clone() { - return new Linear_Expression_Coefficient(new Coefficient(coeff)); + return new Linear_Expression_Coefficient(coeff); }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java index c20619b..15b6102 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java @@ -55,7 +55,7 @@ public class Linear_Expression_Difference
//! Builds a copy of this. public Linear_Expression_Difference clone() { - return new Linear_Expression_Difference(lhs.clone(), rhs.clone()); + return new Linear_Expression_Difference(lhs, rhs); }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java index 4bf7dec..558b2bf 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java @@ -51,7 +51,7 @@ public class Linear_Expression_Sum
//! Builds a copy of this. public Linear_Expression_Sum clone() { - return new Linear_Expression_Sum(lhs.clone(), rhs.clone()); + return new Linear_Expression_Sum(lhs, rhs); }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java index 6787086..872bbe8 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java @@ -35,7 +35,7 @@ public class Linear_Expression_Times
//! Builds an object cloning the input arguments. public Linear_Expression_Times(Linear_Expression l, Coefficient c) { - lhs = new Linear_Expression_Coefficient(new Coefficient(c)); + lhs = new Linear_Expression_Coefficient(c); rhs = l.clone(); }
@@ -51,8 +51,7 @@ public class Linear_Expression_Times
//! Builds a copy of this. public Linear_Expression_Times clone() { - return new Linear_Expression_Times(rhs.clone(), - new Coefficient(lhs.argument())); + return new Linear_Expression_Times(rhs, lhs.argument()); }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java index 267c0e9..d7c3f7b 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java @@ -42,7 +42,7 @@ public class Linear_Expression_Unary_Minus
//! Builds a copy of this. public Linear_Expression_Unary_Minus clone() { - return new Linear_Expression_Unary_Minus(arg.clone()); + return new Linear_Expression_Unary_Minus(arg); }
private static native void initIDs(); diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java index 7091a86..23f6fe4 100644 --- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java +++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java @@ -41,7 +41,7 @@ extends Linear_Expression {
//! Builds a copy of this. public Linear_Expression_Variable clone() { - return new Linear_Expression_Variable(new Variable(arg.id())); + return new Linear_Expression_Variable(arg); }
private int var_id() {
participants (1)
-
Enea Zaffanella