[GIT] ppl/ppl(master): Fixed Java interface for PIP_Decision_Node:: child_node(branch).

Module: ppl/ppl Branch: master Commit: a72963f00f6c6bec5367543096149785c7b4a2e0 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=a72963f00f6c6...
Author: Enea Zaffanella zaffanella@cs.unipr.it Date: Mon Apr 5 18:44:27 2010 +0200
Fixed Java interface for PIP_Decision_Node::child_node(branch). New interface has a (unboxed) boolean parameter.
---
interfaces/Java/jni/ppl_java_globals.cc | 14 +++++++------- .../parma_polyhedra_library/PIP_Decision_Node.java | 7 +++---- interfaces/Java/tests/PIP_Problem_test1.java | 8 ++++---- 3 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/interfaces/Java/jni/ppl_java_globals.cc b/interfaces/Java/jni/ppl_java_globals.cc index 457ea45..8b28785 100644 --- a/interfaces/Java/jni/ppl_java_globals.cc +++ b/interfaces/Java/jni/ppl_java_globals.cc @@ -2012,15 +2012,15 @@ Java_parma_1polyhedra_1library_PIP_1Tree_1Node_artificials
JNIEXPORT jobject JNICALL Java_parma_1polyhedra_1library_PIP_1Decision_1Node_child_1node -(JNIEnv* env, jobject j_this, jobject j_branch) { +(JNIEnv* env, jobject j_this, jboolean j_branch) { try { - PIP_Decision_Node* pip + PIP_Decision_Node* dec_node = reinterpret_cast<PIP_Decision_Node*>(get_ptr(env, j_this)); - unsigned u = jtype_to_unsigned<unsigned>(j_integer_to_j_int(env, j_branch)); - bool b = (u == 0) ? false : true; - const PIP_Tree_Node* child - = pip->child_node(b); - + const PIP_Tree_Node* child = dec_node->child_node(j_branch); + if (child == 0) { + jobject null = 0; + return null; + } jclass j_class_s = env->FindClass("parma_polyhedra_library/PIP_Tree_Node"); CHECK_RESULT_ASSERT(env, j_class_s); jmethodID j_ctr_id_s = env->GetMethodID(j_class_s, "<init>", "()V"); diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java index d13ac53..3af54da 100644 --- a/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java +++ b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java @@ -30,9 +30,8 @@ import java.io.IOException; public class PIP_Decision_Node extends PIP_Tree_Node {
/*! \brief - Returns a the true branch (if \p b is not zero) - or the false branch (if \p b is zero) of \p pip_dec. + Returns the true branch (if \p branch is true) + or the false branch (if \p branch is false) of \p this. */ - /* FIXME: j_branch should be a boolean. */ - public native PIP_Tree_Node child_node(Integer j_branch); + public native PIP_Tree_Node child_node(boolean branch); } diff --git a/interfaces/Java/tests/PIP_Problem_test1.java b/interfaces/Java/tests/PIP_Problem_test1.java index 78e5621..d36b8e7 100644 --- a/interfaces/Java/tests/PIP_Problem_test1.java +++ b/interfaces/Java/tests/PIP_Problem_test1.java @@ -380,7 +380,7 @@ static { if (relsym != Relation_Symbol.GREATER_OR_EQUAL || (le_left.is_zero()) || (le_right.is_zero())) return false; - PIP_Tree_Node root_true_branch = root.child_node(1); + PIP_Tree_Node root_true_branch = root.child_node(true); if (root_true_branch == null) return false;
@@ -406,9 +406,9 @@ static { || (le_left2.is_zero()) || (le_right2.is_zero())) return false;
- if (t_child.child_node(1) == null) + if (t_child.child_node(true) == null) return false; - PIP_Solution_Node t_t_child = t_child.child_node(1).as_solution(); + PIP_Solution_Node t_t_child = t_child.child_node(true).as_solution(); if (t_t_child == null || !t_t_child.OK()) return false;
@@ -421,7 +421,7 @@ static { Linear_Expression v_i = t_t_child.parametric_values(I); Linear_Expression v_j = t_t_child.parametric_values(J);
- PIP_Solution_Node t_f_child = t_child.child_node(0).as_solution(); + PIP_Solution_Node t_f_child = t_child.child_node(false).as_solution(); if (t_f_child == null || !t_f_child.OK()) return false;
participants (1)
-
Enea Zaffanella