@@ -5,15 +5,7 @@ BEGIN_EXTERN_C
5
5
6
6
#define STATISTICS_FUNC (FUNC ) AF_MANGLE(Statistics, FUNC)
7
7
8
- #define INSTANTIATE_MEAN (jtype ) \
9
- JNIEXPORT jobject JNICALL STATISTICS_FUNC (afMeanAll##jtype)( \
10
- JNIEnv * env, jclass clazz, jlong ref) { \
11
- double real = 0 , img = 0 ; \
12
- AF_CHECK (af_mean_all (&real, &img, ARRAY (ref))); \
13
- return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
14
- }
15
-
16
- #define INSTANTIATE_WEIGHTED (jtype, Name, name ) \
8
+ #define INSTANTIATE_STAT_WEIGHTED_COMPLEX (jtype, Name, name ) \
17
9
JNIEXPORT jobject JNICALL STATISTICS_FUNC (af##Name##All##jtype##Weighted)( \
18
10
JNIEnv * env, jclass clazz, jlong ref, jlong weightsRef) { \
19
11
double real = 0 , img = 0 ; \
@@ -22,7 +14,7 @@ BEGIN_EXTERN_C
22
14
return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
23
15
}
24
16
25
- #define INSTANTIATE_ALL_REAL_WEIGHTED (Name, name ) \
17
+ #define INSTANTIATE_STAT_ALL_WEIGHTED (Name, name ) \
26
18
JNIEXPORT jdouble JNICALL STATISTICS_FUNC (af##Name##AllWeighted)( \
27
19
JNIEnv * env, jclass clazz, jlong ref, jlong weightsRef) { \
28
20
double ret = 0 ; \
@@ -31,7 +23,7 @@ BEGIN_EXTERN_C
31
23
return (jdouble)ret; \
32
24
}
33
25
34
- #define INSTANTIATE_REAL_WEIGHTED (Name, name ) \
26
+ #define INSTANTIATE_STAT_WEIGHTED (Name, name ) \
35
27
JNIEXPORT jlong JNICALL STATISTICS_FUNC (af##Name##Weighted)( \
36
28
JNIEnv * env, jclass clazz, jlong ref, jlong weightsRef, jint dim) { \
37
29
af_array ret = 0 ; \
@@ -47,35 +39,39 @@ BEGIN_EXTERN_C
47
39
return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
48
40
}
49
41
50
- #define INSTANTIATE_STAT (Name, name ) \
51
- JNIEXPORT jlong JNICALL STATISTICS_FUNC (af##Name)(JNIEnv *env, jclass clazz, \
52
- jlong ref, jint dim) { \
53
- af_array ret = 0 ; \
54
- AF_CHECK (af_##name (&ret, ARRAY (ref), dim)); \
55
- return JLONG (ret); \
56
- }
42
+ #define INSTANTIATE_STAT (Name, name ) \
43
+ JNIEXPORT jlong JNICALL STATISTICS_FUNC (af##Name)( \
44
+ JNIEnv * env, jclass clazz, jlong ref, jint dim) { \
45
+ af_array ret = 0 ; \
46
+ AF_CHECK (af_##name (&ret, ARRAY (ref), dim)); \
47
+ return JLONG (ret); \
48
+ }
57
49
58
- INSTANTIATE_STAT (Mean, mean)
59
- INSTANTIATE_STAT(Stdev, stdev)
50
+ #define INSTANTIATE_STAT_ALL (Name, name ) \
51
+ JNIEXPORT jdouble JNICALL STATISTICS_FUNC (af##Name##All)( \
52
+ JNIEnv * env, jclass clazz, jlong ref) { \
53
+ double ret = 0 ; \
54
+ AF_CHECK (af_##name##_all (&ret, NULL , ARRAY (ref))); \
55
+ return (jdouble)ret; \
56
+ }
60
57
61
- #define INSTANTIATE_STAT_ALL (Name, name ) \
62
- JNIEXPORT jdouble JNICALL STATISTICS_FUNC (af##Name##All)(JNIEnv *env, jclass clazz, \
63
- jlong ref) { \
64
- double ret = 0 ; \
65
- AF_CHECK (af_##name##_all (&ret, NULL , ARRAY (ref))); \
66
- return (jdouble)ret; \
67
- }
58
+ #define INSTANTIATE_STAT_ALL_COMPLEX (Name, name, jtype ) \
59
+ JNIEXPORT jobject JNICALL STATISTICS_FUNC (af##Name##All##jtype)( \
60
+ JNIEnv * env, jclass clazz, jlong ref) { \
61
+ double real = 0 , img = 0 ; \
62
+ AF_CHECK (af_##name##_all (&real, &img , ARRAY (ref))); \
63
+ return java::createJavaObject (env, java::JavaObjects::jtype, real, img); \
64
+ }
68
65
66
+ // Mean
67
+ INSTANTIATE_STAT (Mean, mean)
69
68
INSTANTIATE_STAT_ALL(Mean, mean)
70
-
71
- INSTANTIATE_MEAN(FloatComplex)
72
- INSTANTIATE_MEAN(DoubleComplex)
73
- INSTANTIATE_ALL_REAL_WEIGHTED(Mean, mean)
74
- INSTANTIATE_REAL_WEIGHTED(Mean, mean)
75
- INSTANTIATE_WEIGHTED(FloatComplex, Mean, mean)
76
- INSTANTIATE_WEIGHTED(DoubleComplex, Mean, mean)
77
-
78
- #undef INSTANTIATE_MEAN
69
+ INSTANTIATE_STAT_ALL_COMPLEX(Mean, mean, FloatComplex)
70
+ INSTANTIATE_STAT_ALL_COMPLEX(Mean, mean, DoubleComplex)
71
+ INSTANTIATE_STAT_ALL_WEIGHTED(Mean, mean)
72
+ INSTANTIATE_STAT_WEIGHTED(Mean, mean)
73
+ INSTANTIATE_STAT_WEIGHTED_COMPLEX(FloatComplex, Mean, mean)
74
+ INSTANTIATE_STAT_WEIGHTED_COMPLEX(DoubleComplex, Mean, mean)
79
75
80
76
JNIEXPORT jlong JNICALL STATISTICS_FUNC(afVar)(JNIEnv *env, jclass clazz,
81
77
jlong ref, jboolean isBiased,
@@ -93,17 +89,26 @@ JNIEXPORT jdouble JNICALL STATISTICS_FUNC(afVarAll)(JNIEnv *env, jclass clazz,
93
89
return (jdouble)ret;
94
90
}
95
91
92
+ // Variance
96
93
INSTANTIATE_VAR (FloatComplex)
97
94
INSTANTIATE_VAR(DoubleComplex)
98
- INSTANTIATE_REAL_WEIGHTED(Var, var)
99
- INSTANTIATE_ALL_REAL_WEIGHTED(Var, var)
100
- INSTANTIATE_WEIGHTED(FloatComplex, Var, var)
101
- INSTANTIATE_WEIGHTED(DoubleComplex, Var, var)
95
+ INSTANTIATE_STAT_WEIGHTED(Var, var)
96
+ INSTANTIATE_STAT_ALL_WEIGHTED(Var, var)
97
+ INSTANTIATE_STAT_WEIGHTED_COMPLEX(FloatComplex, Var, var)
98
+ INSTANTIATE_STAT_WEIGHTED_COMPLEX(DoubleComplex, Var, var)
99
+
100
+ // Standard dev
101
+ INSTANTIATE_STAT(Stdev, stdev)
102
+ INSTANTIATE_STAT_ALL(Stdev, stdev)
103
+ INSTANTIATE_STAT_ALL_COMPLEX(Stdev, stdev, FloatComplex)
104
+ INSTANTIATE_STAT_ALL_COMPLEX(Stdev, stdev, DoubleComplex)
102
105
103
106
#undef INSTANTIATE_VAR
104
- #undef INSTANTIATE_MEAN
105
- #undef INSTANTIATE_WEIGHTED
106
- #undef INSTANTIATE_REAL_WEIGHTED
107
- #undef INSTANTIATE_ALL_REAL_WEIGHTED
107
+ #undef INSTANTIATE_STAT_WEIGHTED_COMPLEX
108
+ #undef INSTANTIATE_STAT_WEIGHTED
109
+ #undef INSTANTIATE_STAT_ALL_WEIGHTED
110
+ #undef INSTANTIATE_STAT
111
+ #undef INSTANTIATE_STAT_ALL
112
+ #undef INSTANTIATE_STAT_ALL_COMPLEX
108
113
109
114
END_EXTERN_C
0 commit comments