[PPL-devel] [GIT] ppl/ppl(master): In Java, avoid useless repeated copies in Coefficient and Linear_Expression.
Enea Zaffanella
zaffanella at cs.unipr.it
Fri Apr 24 21:54:36 CEST 2009
Module: ppl/ppl
Branch: master
Commit: 81e816d83312c7ca68c455f663d4e31a82bb08a2
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=81e816d83312c7ca68c455f663d4e31a82bb08a2
Author: Enea Zaffanella <zaffanella at 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() {
More information about the PPL-devel
mailing list