@@ -99,20 +99,20 @@ JNIEXPORT jlong JNICALL Java_com_arrayfire_Array_createEmptyArray(JNIEnv *env, j
99
99
return ret;
100
100
}
101
101
102
- #define CREATE_ARRAY_T (Ty, ty ) \
102
+ #define CREATE_ARRAY_T_ (Ty, ty, wty ) \
103
103
JNIEXPORT jlong JNICALL Java_com_arrayfire_Array_createArrayFrom##Ty \
104
104
(JNIEnv *env, jclass clazz, jintArray dims, j##ty##Array elems) \
105
105
{ \
106
106
jlong ret; \
107
107
try { \
108
108
jint* dimptr = env->GetIntArrayElements (dims,0 ); \
109
- j##ty * inptr= env->Get ##Ty##ArrayElements (elems,0 ); \
109
+ wty * inptr= (wty*) env->Get ##Ty##ArrayElements (elems,0 ); \
110
110
af::array *A = new af::array (dimptr[0 ],dimptr[1 ], \
111
- dimptr[2 ],dimptr[3 ],inptr); \
111
+ dimptr[2 ],dimptr[3 ],inptr);\
112
112
\
113
113
ret = (jlong)(A); \
114
114
env->ReleaseIntArrayElements (dims,dimptr,0 ); \
115
- env->Release ##Ty##ArrayElements (elems,inptr,0 ); \
115
+ env->Release ##Ty##ArrayElements (elems,(j##ty*) inptr,0 ); \
116
116
} catch (af::exception& e) { \
117
117
ret = 0 ; \
118
118
} catch (std::exception& e) { \
@@ -121,10 +121,14 @@ JNIEXPORT jlong JNICALL Java_com_arrayfire_Array_createEmptyArray(JNIEnv *env, j
121
121
return ret; \
122
122
} \
123
123
124
+
125
+ #define CREATE_ARRAY_T (Ty, ty ) CREATE_ARRAY_T_(Ty, ty, ty)
126
+
124
127
CREATE_ARRAY_T (Float, float );
125
128
CREATE_ARRAY_T (Double, double );
126
129
CREATE_ARRAY_T (Int, int );
127
- CREATE_ARRAY_T (Boolean, boolean);
130
+
131
+ CREATE_ARRAY_T_ (Boolean, boolean, bool );
128
132
129
133
#undef CREATE_ARRAY_T
130
134
0 commit comments