Merging + fixing memory bugs
[satune.git] / src / satune_SatuneJavaAPI.cc
index 65d316a2b4c366d3fec5f955b852d436c6834ac1..0a7d6725773f4219a85b45dea0eafe5cdf5bff96 100644 (file)
@@ -1,7 +1,7 @@
 /* DO NOT EDIT THIS FILE - it is machine generated */
 #include "satune_SatuneJavaAPI.h"
 #include "ccsolver.h"
-#define CCSOLVER(solver) (void*)solver
+#define CCSOLVER(solver) (void *)solver
 /* Header for class SatuneJavaAPI */
 
 /*
@@ -14,7 +14,7 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_createCCSolver
        (JNIEnv *env, jobject obj)
 {
        return (jlong)createCCSolver();
-       
+
 }
 
 /*
@@ -45,9 +45,11 @@ JNIEXPORT void JNICALL Java_satune_SatuneJavaAPI_resetCCSolver
  * Signature: (JIJI)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_createSet
-       (JNIEnv *env, jobject obj, jlong solver, jint type, jlong elements, jint num)
+       (JNIEnv *env, jobject obj, jlong solver, jint type, jlongArray arr)
 {
-       return (jlong)createSet((void *)solver,(unsigned int) type, (long *)elements, (unsigned int) num);
+       jsize num = env->GetArrayLength(arr);
+       jlong *elements = env->GetLongArrayElements(arr, 0);
+       return (jlong)createSet((void *)solver,(unsigned int) type, elements, (unsigned int) num);
 }
 
 /*
@@ -156,7 +158,7 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_getBooleanVar
  * Signature: (JI)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_getBooleanTrue
-       (JNIEnv * env, jobject obj, jlong solver)
+       (JNIEnv *env, jobject obj, jlong solver)
 {
        return (jlong)getBooleanTrue((void *)solver);
 }
@@ -167,7 +169,7 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_getBooleanTrue
  * Signature: (JI)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_getBooleanFalse
-       (JNIEnv * env, jobject obj, jlong solver)
+       (JNIEnv *env, jobject obj, jlong solver)
 {
        return (jlong)getBooleanFalse((void *)solver);
 }
@@ -266,8 +268,10 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyFunction
  * Signature: (JJJIJ)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyPredicateTable
-       (JNIEnv *env, jobject obj, jlong solver, jlong predicate, jlong inputs, jint numInputs, jlong undefinedStatus)
+       (JNIEnv *env, jobject obj, jlong solver, jlong predicate, jlongArray arr, jlong undefinedStatus)
 {
+       jsize numInputs = env->GetArrayLength(arr);
+       jlong *inputs = env->GetLongArrayElements(arr, 0);
        return (jlong) applyPredicateTable((void *)solver,(void *)predicate, (void **)inputs, (unsigned int) numInputs, (void *)undefinedStatus);
 }
 
@@ -277,8 +281,10 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyPredicateTable
  * Signature: (JJJI)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyPredicate
-       (JNIEnv *env, jobject obj, jlong solver, jlong predicate, jlong inputs, jint numInputs)
+       (JNIEnv *env, jobject obj, jlong solver, jlong predicate, jlongArray arr)
 {
+       jsize numInputs = env->GetArrayLength(arr);
+       jlong *inputs = env->GetLongArrayElements(arr, 0);
        return (jlong)applyPredicate((void *)solver,(void *)predicate, (void **)inputs, (unsigned int) numInputs);
 }
 
@@ -288,9 +294,24 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyPredicate
  * Signature: (JIJI)J
  */
 JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyLogicalOperation
-       (JNIEnv *env, jobject obj, jlong solver, jint op, jlong array, jint asize)
+       (JNIEnv *env, jobject obj, jlong solver, jint op, jlongArray arr)
+{
+       jsize asize = env->GetArrayLength(arr);
+       jlong *array = env->GetLongArrayElements(arr, 0);
+       return (jlong)applyLogicalOperation((void *)solver,(unsigned int) op, (void **)array, (unsigned int) asize);
+}
+
+/*
+ * Class:     SatuneJavaAPI
+ * Method:    applyLogicalOperation
+ * Signature: (JIJI)J
+ */
+JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_applyExactlyOneConstraint
+       (JNIEnv *env, jobject obj, jlong solver, jlongArray arr)
 {
-       return (jlong)applyLogicalOperation((void *)solver,(unsigned int) op, (void *)array, (unsigned int) asize);
+       jsize asize = env->GetArrayLength(arr);
+       jlong *array = env->GetLongArrayElements(arr, 0);
+       return (jlong)applyExactlyOneConstraint((void *)solver,(void **)array, (unsigned int) asize);
 }
 
 /*
@@ -370,6 +391,17 @@ JNIEXPORT jint JNICALL Java_satune_SatuneJavaAPI_solve
        return (jint) solve((void *)solver);
 }
 
+/*
+ * Class:     SatuneJavaAPI
+ * Method:    solveIncremental
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_satune_SatuneJavaAPI_solveIncremental
+       (JNIEnv *env, jobject obj, jlong solver)
+{
+       return (jint) solveIncremental((void *)solver);
+}
+
 /*
  * Class:     SatuneJavaAPI
  * Method:    getElementValue
@@ -381,6 +413,17 @@ JNIEXPORT jlong JNICALL Java_satune_SatuneJavaAPI_getElementValue
        return (jlong) getElementValue((void *)solver,(void *)element);
 }
 
+/*
+ * Class:     SatuneJavaAPI
+ * Method:    freezeElement
+ * Signature: (JJ)J
+ */
+JNIEXPORT void JNICALL Java_satune_SatuneJavaAPI_freezeElement
+       (JNIEnv *env, jobject obj, jlong solver, jlong element)
+{
+       freezeElement((void *)solver,(void *)element);
+}
+
 /*
  * Class:     SatuneJavaAPI
  * Method:    getBooleanValue
@@ -414,6 +457,17 @@ JNIEXPORT void JNICALL Java_satune_SatuneJavaAPI_printConstraints
        printConstraints((void *)solver);
 }
 
+/*
+ * Class:     SatuneJavaAPI
+ * Method:    turnoffOptimizations
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_satune_SatuneJavaAPI_turnoffOptimizations
+       (JNIEnv *env, jobject obj, jlong solver)
+{
+       turnoffOptimizations((void *)solver);
+}
+
 /*
  * Class:     SatuneJavaAPI
  * Method:    serialize