[GIT] ppl/ppl(master): Added a few missing accessor methods to Java interface classes.
Module: ppl/ppl Branch: master Commit: 2fd333e0c585db16b3bf406fba0475e527ec0655 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=2fd333e0c585d... Author: Enea Zaffanella <zaffanella@cs.unipr.it> Date: Thu May 14 23:35:26 2009 +0200 Added a few missing accessor methods to Java interface classes. Affected classes are Congruence, Generator and Grid_Generator. --- interfaces/Java/jni/ppl_java_common.cc | 10 ++++---- interfaces/Java/jni/ppl_java_common.defs.hh | 2 +- interfaces/Java/jni/ppl_java_globals.cc | 4 +- .../Java/parma_polyhedra_library/Congruence.java | 19 +++++++++++++- .../Java/parma_polyhedra_library/Generator.java | 10 +++++++ .../parma_polyhedra_library/Grid_Generator.java | 26 ++++++++++++++++++++ 6 files changed, 61 insertions(+), 10 deletions(-) diff --git a/interfaces/Java/jni/ppl_java_common.cc b/interfaces/Java/jni/ppl_java_common.cc index 2e29806..d2b9675 100644 --- a/interfaces/Java/jni/ppl_java_common.cc +++ b/interfaces/Java/jni/ppl_java_common.cc @@ -328,14 +328,14 @@ build_java_poly_con_relation(JNIEnv* env, Poly_Con_Relation& r) { Congruence build_cxx_congruence(JNIEnv* env, jobject j_congruence) { - jobject j_modulus - = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_modulus_ID); + jobject j_mod + = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_mod_ID); jobject j_lhs = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_lhs_ID); jobject j_rhs = env->GetObjectField(j_congruence, cached_FMIDs.Congruence_rhs_ID); PPL_DIRTY_TEMP_COEFFICIENT(ppl_modulus); - ppl_modulus = build_cxx_coeff(env, j_modulus); + ppl_modulus = build_cxx_coeff(env, j_mod); Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs); Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs); return (lhs %= rhs) / ppl_modulus; @@ -831,13 +831,13 @@ build_java_constraint(JNIEnv* env, const Constraint& c) { jobject build_java_congruence(JNIEnv* env, const Congruence& cg) { - jobject j_modulus = build_java_coeff(env, cg.modulus()); + jobject j_mod = build_java_coeff(env, cg.modulus()); jobject j_lhs = build_linear_expression(env, cg); jobject j_rhs = build_java_linear_expression_coefficient(env, -cg.inhomogeneous_term()); jobject ret = env->NewObject(cached_classes.Congruence, cached_FMIDs.Congruence_init_ID, - j_lhs, j_rhs, j_modulus); + j_lhs, j_rhs, j_mod); CHECK_RESULT_THROW(env, ret); return ret; } diff --git a/interfaces/Java/jni/ppl_java_common.defs.hh b/interfaces/Java/jni/ppl_java_common.defs.hh index 4e7020b..6c52441 100644 --- a/interfaces/Java/jni/ppl_java_common.defs.hh +++ b/interfaces/Java/jni/ppl_java_common.defs.hh @@ -250,7 +250,7 @@ struct Java_FMID_Cache { // Complexity_Class. jmethodID Complexity_Class_ordinal_ID; // Congruence. - jfieldID Congruence_modulus_ID; + jfieldID Congruence_mod_ID; jfieldID Congruence_lhs_ID; jfieldID Congruence_rhs_ID; jmethodID Congruence_init_ID; diff --git a/interfaces/Java/jni/ppl_java_globals.cc b/interfaces/Java/jni/ppl_java_globals.cc index b6cd4a5..071d4c1 100644 --- a/interfaces/Java/jni/ppl_java_globals.cc +++ b/interfaces/Java/jni/ppl_java_globals.cc @@ -135,10 +135,10 @@ JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_Congruence_initIDs (JNIEnv* env, jclass j_congruence_class) { jfieldID fID; - fID = env->GetFieldID(j_congruence_class, "modulus", + fID = env->GetFieldID(j_congruence_class, "mod", "Lparma_polyhedra_library/Coefficient;"); CHECK_RESULT_ASSERT(env, fID); - cached_FMIDs.Congruence_modulus_ID = fID; + cached_FMIDs.Congruence_mod_ID = fID; fID = env->GetFieldID(j_congruence_class, "lhs", "Lparma_polyhedra_library/Linear_Expression;"); CHECK_RESULT_ASSERT(env, fID); diff --git a/interfaces/Java/parma_polyhedra_library/Congruence.java b/interfaces/Java/parma_polyhedra_library/Congruence.java index bb67259..b370795 100644 --- a/interfaces/Java/parma_polyhedra_library/Congruence.java +++ b/interfaces/Java/parma_polyhedra_library/Congruence.java @@ -41,7 +41,7 @@ import java.io.IOException; public class Congruence { //! The modulus of the congruence. - protected Coefficient modulus; + protected Coefficient mod; //! The value of the left hand side of \p this. Linear_Expression lhs; @@ -55,11 +55,26 @@ public class Congruence { */ public Congruence(Linear_Expression e1, Linear_Expression e2, Coefficient m) { - modulus = new Coefficient(m); + mod = new Coefficient(m); lhs = e1.clone(); rhs = e2.clone(); } + //! Returns the left hand side of \p this. + public Linear_Expression left_hand_side() { + return lhs; + } + + //! Returns the right hand side of \p this. + public Linear_Expression right_hand_side() { + return rhs; + } + + //! Returns the relation symbol of \p this. + public Coefficient modulus() { + return mod; + } + //! Returns an ascii formatted internal representation of \p this. public native String ascii_dump(); diff --git a/interfaces/Java/parma_polyhedra_library/Generator.java b/interfaces/Java/parma_polyhedra_library/Generator.java index 99a3980..a4e0f8f 100644 --- a/interfaces/Java/parma_polyhedra_library/Generator.java +++ b/interfaces/Java/parma_polyhedra_library/Generator.java @@ -110,6 +110,16 @@ public class Generator { return new Generator(e, Generator_Type.RAY); } + //! Returns the generator type. + public Generator_Type type() { + return gt; + } + + //! Returns the linear expression in \p this. + public Linear_Expression linear_expression() { + return le; + } + //! If \p this is either a point or a closure point, returns its divisor. /*! \exception RuntimeErrorException diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java index dc5cf33..379082f 100644 --- a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java +++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java @@ -24,6 +24,7 @@ package parma_polyhedra_library; import java.io.Writer; import java.io.IOException; +import javax.management.RuntimeErrorException; //! A grid line, parameter or grid point. /*! \ingroup PPL_Java_interface @@ -84,6 +85,31 @@ public class Grid_Generator { return new Grid_Generator(e, d, Grid_Generator_Type.POINT); } + //! Returns the generator type. + public Grid_Generator_Type type() { + return gt; + } + + //! Returns the linear expression in \p this. + public Linear_Expression linear_expression() { + return le; + } + + //! If \p this is either a grid point or a parameter, returns its divisor. + /*! + \exception RuntimeErrorException + Thrown if \p this is a line. + */ + public Coefficient divisor() { + if (this.gt != Grid_Generator_Type.LINE) + return div; + Error cause = new Error("parma_polyhedra_library." + + "Grid_Generator::divisor:\n" + + "this is neither a grid point" + + " nor a parameter."); + throw new RuntimeErrorException(cause); + } + //! Returns an ascii formatted internal representation of \p this. public native String ascii_dump();
participants (1)
-
Enea Zaffanella