AArch64: Port frameworks/ml
Port for systems that have 32- or 64-bit pointers by
converting the use of int for pointers to the use of
long in Java code, and jint to jlong in the
corresponding JNI C++ code.
Change-Id: I174423dd2f17adc90a0ebd439c8679c404afe549
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
diff --git a/bordeaux/learning/multiclass_pa/java/android/bordeaux/learning/MulticlassPA.java b/bordeaux/learning/multiclass_pa/java/android/bordeaux/learning/MulticlassPA.java
index 9e81803..8a868e1 100644
--- a/bordeaux/learning/multiclass_pa/java/android/bordeaux/learning/MulticlassPA.java
+++ b/bordeaux/learning/multiclass_pa/java/android/bordeaux/learning/MulticlassPA.java
@@ -49,20 +49,20 @@
System.loadLibrary("bordeaux");
}
- private int nativeClassifier;
+ private long nativeClassifier;
/*
* Initialize native classifier
*/
- private native int initNativeClassifier(int num_classes, int num_dims, float aggressiveness);
+ private native long initNativeClassifier(int num_classes, int num_dims, float aggressiveness);
- private native void deleteNativeClassifier(int classPtr);
+ private native void deleteNativeClassifier(long classPtr);
private native boolean nativeSparseTrainOneExample(int[] index_array,
float[] float_array,
- int target, int classPtr);
+ int target, long classPtr);
private native int nativeSparseGetClass(int[] index_array,
float[] float_array,
- int classPtr);
+ long classPtr);
}
diff --git a/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.cpp b/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.cpp
index 68773c8..65575de 100644
--- a/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.cpp
+++ b/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.cpp
@@ -33,7 +33,7 @@
}
}
-jint Java_android_bordeaux_learning_MulticlassPA_initNativeClassifier(JNIEnv* env,
+jlong Java_android_bordeaux_learning_MulticlassPA_initNativeClassifier(JNIEnv* env,
jobject thiz,
jint num_classes,
jint num_dims,
@@ -41,13 +41,13 @@
MulticlassPA* classifier = new MulticlassPA(num_classes,
num_dims,
aggressiveness);
- return ((jint) classifier);
+ return ((jlong) classifier);
}
jboolean Java_android_bordeaux_learning_MulticlassPA_deleteNativeClassifier(JNIEnv* env,
jobject thiz,
- jint paPtr) {
+ jlong paPtr) {
MulticlassPA* classifier = (MulticlassPA*) paPtr;
delete classifier;
return JNI_TRUE;
@@ -58,7 +58,7 @@
jintArray index_array,
jfloatArray value_array,
jint target,
- jint paPtr) {
+ jlong paPtr) {
MulticlassPA* classifier = (MulticlassPA*) paPtr;
if (classifier && index_array && value_array) {
@@ -90,7 +90,7 @@
jobject thiz,
jintArray index_array,
jfloatArray value_array,
- jint paPtr) {
+ jlong paPtr) {
MulticlassPA* classifier = (MulticlassPA*) paPtr;
diff --git a/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.h b/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.h
index 7e9edf9..81fca8a 100644
--- a/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.h
+++ b/bordeaux/learning/multiclass_pa/jni/jni_multiclass_pa.h
@@ -23,7 +23,7 @@
extern "C" {
#endif
-JNIEXPORT jint JNICALL
+JNIEXPORT jlong JNICALL
Java_android_bordeaux_learning_MulticlassPA_initNativeClassifier(JNIEnv* env,
jobject thiz,
jint num_classes,
@@ -34,7 +34,7 @@
JNIEXPORT jboolean JNICALL
Java_android_bordeaux_learning_MulticlassPA_deleteNativeClassifier(JNIEnv* env,
jobject thiz,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jboolean JNICALL
Java_android_bordeaux_learning_MulticlassPA_nativeSparseTrainOneExample(JNIEnv* env,
@@ -42,14 +42,14 @@
jintArray index_array,
jfloatArray value_array,
jint target,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jint JNICALL
Java_android_bordeaux_learning_MulticlassPA_nativeSparseGetClass(JNIEnv* env,
jobject thiz,
jintArray index_array,
jfloatArray value_array,
- jint paPtr);
+ jlong paPtr);
#ifdef __cplusplus
diff --git a/bordeaux/learning/stochastic_linear_ranker/java/android/bordeaux/learning/StochasticLinearRanker.java b/bordeaux/learning/stochastic_linear_ranker/java/android/bordeaux/learning/StochasticLinearRanker.java
index 35d3ec1..59f32a9 100644
--- a/bordeaux/learning/stochastic_linear_ranker/java/android/bordeaux/learning/StochasticLinearRanker.java
+++ b/bordeaux/learning/stochastic_linear_ranker/java/android/bordeaux/learning/StochasticLinearRanker.java
@@ -159,35 +159,35 @@
System.loadLibrary("bordeaux");
}
- private int mNativeClassifier;
+ private long mNativeClassifier;
/*
* The following methods are the java stubs for the jni implementations.
*/
- private native int initNativeClassifier();
+ private native long initNativeClassifier();
- private native void deleteNativeClassifier(int classifierPtr);
+ private native void deleteNativeClassifier(long classifierPtr);
private native boolean nativeUpdateClassifier(
String[] keys_positive,
float[] values_positive,
String[] keys_negative,
float[] values_negative,
- int classifierPtr);
+ long classifierPtr);
- private native float nativeScoreSample(String[] keys, float[] values, int classifierPtr);
+ private native float nativeScoreSample(String[] keys, float[] values, long classifierPtr);
private native void nativeGetWeightClassifier(String [] keys, float[] values, float normalizer,
- int classifierPtr);
+ long classifierPtr);
private native void nativeGetParameterClassifier(String [] keys, String[] values,
- int classifierPtr);
+ long classifierPtr);
- private native int nativeGetLengthClassifier(int classifierPtr);
+ private native int nativeGetLengthClassifier(long classifierPtr);
private native boolean nativeSetWeightClassifier(String [] keys, float[] values,
- float normalizer, int classifierPtr);
+ float normalizer, long classifierPtr);
private native boolean nativeSetParameterClassifier(String key, String value,
- int classifierPtr);
+ long classifierPtr);
}
diff --git a/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.cpp b/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.cpp
index 211f727..f653eb9 100644
--- a/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.cpp
+++ b/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.cpp
@@ -72,7 +72,7 @@
jobjectArray key_array_model,
jfloatArray value_array_model,
jfloat normalizer_model,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
if (classifier && key_array_model && value_array_model && normalizer_model) {
@@ -97,7 +97,7 @@
jobject thiz,
jstring key,
jstring value,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
jboolean iscopy;
@@ -229,7 +229,7 @@
jint Java_android_bordeaux_learning_StochasticLinearRanker_nativeGetLengthClassifier(
JNIEnv* env,
jobject thiz,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
SparseWeightVector<string> M_weights;
@@ -251,7 +251,7 @@
jobject thiz,
jobjectArray key_array_param,
jobjectArray value_array_param,
- jint paPtr){
+ jlong paPtr){
std::string s;
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
@@ -371,7 +371,7 @@
jobjectArray key_array_model,
jfloatArray value_array_model,
jfloat normalizer,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
SparseWeightVector<string> M_weights;
@@ -383,15 +383,15 @@
DecomposeSparseWeightVector(env, &key_array_model, &value_array_model, array_len, &M_weights);
}
-jint Java_android_bordeaux_learning_StochasticLinearRanker_initNativeClassifier(JNIEnv* env,
+jlong Java_android_bordeaux_learning_StochasticLinearRanker_initNativeClassifier(JNIEnv* env,
jobject thiz) {
StochasticLinearRanker<string>* classifier = new StochasticLinearRanker<string>();
- return ((jint) classifier);
+ return ((jlong) classifier);
}
jboolean Java_android_bordeaux_learning_StochasticLinearRanker_deleteNativeClassifier(JNIEnv* env,
jobject thiz,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
delete classifier;
return JNI_TRUE;
@@ -404,7 +404,7 @@
jfloatArray value_array_positive,
jobjectArray key_array_negative,
jfloatArray value_array_negative,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
if (classifier && key_array_positive && value_array_positive &&
@@ -441,7 +441,7 @@
jobject thiz,
jobjectArray key_array,
jfloatArray value_array,
- jint paPtr) {
+ jlong paPtr) {
StochasticLinearRanker<string>* classifier = (StochasticLinearRanker<string>*) paPtr;
diff --git a/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.h b/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.h
index 0f20c90..09a7047 100644
--- a/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.h
+++ b/bordeaux/learning/stochastic_linear_ranker/jni/jni_stochastic_linear_ranker.h
@@ -105,7 +105,7 @@
const char * LOSS_TYPE_PAIRWISE = "PAIRWISE";
const char * LOSS_TYPE_RECIPROCAL_RANK = "RECIPROCAL_RANK";
-JNIEXPORT jint JNICALL
+JNIEXPORT jlong JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_initNativeClassifier(
JNIEnv* env,
jobject thiz);
@@ -115,7 +115,7 @@
Java_android_bordeaux_learning_StochasticLinearRanker_deleteNativeClassifier(
JNIEnv* env,
jobject thiz,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jboolean JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeUpdateClassifier(
@@ -125,7 +125,7 @@
jfloatArray value_array_positive,
jobjectArray key_array_negative,
jfloatArray value_array_negative,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jfloat JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeScoreSample(
@@ -133,7 +133,7 @@
jobject thiz,
jobjectArray key_array,
jfloatArray value_array,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT void JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeGetWeightClassifier(
@@ -142,7 +142,7 @@
jobjectArray key_array_weight,
jfloatArray value_array_weight,
jfloat normalizer,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT void JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeGetParameterClassifier(
@@ -150,13 +150,13 @@
jobject thiz,
jobjectArray key_array_param,
jobjectArray value_array_param,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jint JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeGetLengthClassifier(
JNIEnv* env,
jobject thiz,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jboolean JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeSetWeightClassifier(
@@ -165,7 +165,7 @@
jobjectArray key_array_model,
jfloatArray value_array_model,
jfloat normalizer_model,
- jint paPtr);
+ jlong paPtr);
JNIEXPORT jboolean JNICALL
Java_android_bordeaux_learning_StochasticLinearRanker_nativeSetParameterClassifier(
@@ -173,7 +173,7 @@
jobject thiz,
jstring key,
jstring value,
- jint paPtr);
+ jlong paPtr);
#ifdef __cplusplus
}