@@ -5,27 +5,21 @@ BEGIN_EXTERN_C
55
66#define STATISTICS_FUNC (FUNC ) AF_MANGLE(Statistics, FUNC)
77
8- #define INSTANTIATE_MEAN (jtype, param ) \
8+ #define INSTANTIATE_MEAN (jtype ) \
99 JNIEXPORT jobject JNICALL STATISTICS_FUNC (afMeanAll##jtype)( \
1010 JNIEnv * env, jclass clazz, jlong ref) { \
1111 double real = 0 , img = 0 ; \
1212 AF_CHECK (af_mean_all (&real, &img, ARRAY (ref))); \
13- jclass cls = env->FindClass (" com/arrayfire/" #jtype); \
14- jmethodID id = env->GetMethodID (cls, " <init>" , " (" #param " )V" ); \
15- jobject obj = env->NewObject (cls, id, real, img); \
16- return obj; \
13+ return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
1714 }
1815
19- #define INSTANTIATE_WEIGHTED (jtype, param, Name, name ) \
16+ #define INSTANTIATE_WEIGHTED (jtype, Name, name ) \
2017 JNIEXPORT jobject JNICALL STATISTICS_FUNC (af##Name##All##jtype##Weighted)( \
2118 JNIEnv * env, jclass clazz, jlong ref, jlong weightsRef) { \
2219 double real = 0 , img = 0 ; \
2320 AF_CHECK ( \
2421 af_##name##_all_weighted (&real, &img, ARRAY (ref), ARRAY (weightsRef))); \
25- jclass cls = env->FindClass (" com/arrayfire/" #jtype); \
26- jmethodID id = env->GetMethodID (cls, " <init>" , " (" #param " )V" ); \
27- jobject obj = env->NewObject (cls, id, real, img); \
28- return obj; \
22+ return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
2923 }
3024
3125#define INSTANTIATE_ALL_REAL_WEIGHTED (Name, name ) \
@@ -45,15 +39,12 @@ BEGIN_EXTERN_C
4539 return JLONG (ret); \
4640 }
4741
48- #define INSTANTIATE_VAR (jtype, param ) \
49- JNIEXPORT jobject JNICALL STATISTICS_FUNC (afVarAll##jtype)( \
50- JNIEnv * env, jclass clazz, jlong ref, jboolean isBiased) { \
51- double real = 0 , img = 0 ; \
52- AF_CHECK (af_var_all (&real, &img, ARRAY (ref), isBiased)); \
53- jclass cls = env->FindClass (" com/arrayfire/" #jtype); \
54- jmethodID id = env->GetMethodID (cls, " <init>" , " (" #param " )V" ); \
55- jobject obj = env->NewObject (cls, id, real, img); \
56- return obj; \
42+ #define INSTANTIATE_VAR (jtype ) \
43+ JNIEXPORT jobject JNICALL STATISTICS_FUNC (afVarAll##jtype)( \
44+ JNIEnv * env, jclass clazz, jlong ref, jboolean isBiased) { \
45+ double real = 0 , img = 0 ; \
46+ AF_CHECK (af_var_all (&real, &img, ARRAY (ref), isBiased)); \
47+ return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
5748 }
5849
5950JNIEXPORT jlong JNICALL STATISTICS_FUNC (afMean)(JNIEnv *env, jclass clazz,
@@ -70,12 +61,12 @@ JNIEXPORT jdouble JNICALL STATISTICS_FUNC(afMeanAll)(JNIEnv *env, jclass clazz,
7061 return (jdouble)ret;
7162}
7263
73- INSTANTIATE_MEAN (FloatComplex, FF )
74- INSTANTIATE_MEAN(DoubleComplex, DD )
64+ INSTANTIATE_MEAN (FloatComplex)
65+ INSTANTIATE_MEAN(DoubleComplex)
7566INSTANTIATE_ALL_REAL_WEIGHTED(Mean, mean)
7667INSTANTIATE_REAL_WEIGHTED(Mean, mean)
77- INSTANTIATE_WEIGHTED(FloatComplex, FF, Mean, mean)
78- INSTANTIATE_WEIGHTED(DoubleComplex, DD, Mean, mean)
68+ INSTANTIATE_WEIGHTED(FloatComplex, Mean, mean)
69+ INSTANTIATE_WEIGHTED(DoubleComplex, Mean, mean)
7970
8071#undef INSTANTIATE_MEAN
8172
@@ -95,12 +86,12 @@ JNIEXPORT jdouble JNICALL STATISTICS_FUNC(afVarAll)(JNIEnv *env, jclass clazz,
9586 return (jdouble)ret;
9687}
9788
98- INSTANTIATE_VAR (FloatComplex, FF )
99- INSTANTIATE_VAR(DoubleComplex, DD )
89+ INSTANTIATE_VAR (FloatComplex)
90+ INSTANTIATE_VAR(DoubleComplex)
10091INSTANTIATE_REAL_WEIGHTED(Var, var)
10192INSTANTIATE_ALL_REAL_WEIGHTED(Var, var)
102- INSTANTIATE_WEIGHTED(FloatComplex, FF, Var, var)
103- INSTANTIATE_WEIGHTED(DoubleComplex, DD, Var, var)
93+ INSTANTIATE_WEIGHTED(FloatComplex, Var, var)
94+ INSTANTIATE_WEIGHTED(DoubleComplex, Var, var)
10495
10596#undef INSTANTIATE_VAR
10697#undef INSTANTIATE_MEAN
0 commit comments