Skip to content

Commit d928328

Browse files
ShadyBoukharyumar456
authored andcommitted
Replaced AF_TO_JAVA with THROWS in the rest of the native code.
1 parent 9030e57 commit d928328

File tree

6 files changed

+127
-129
lines changed

6 files changed

+127
-129
lines changed

src/algorithm.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ BEGIN_EXTERN_C
88
JNIEXPORT jdouble JNICALL ALGO_FUNC(func##All)(JNIEnv * env, jclass clazz, \
99
jlong a) { \
1010
double real, imag; \
11-
(af_##func##_all(&real, &imag, ARRAY(a))); \
11+
THROWS(af_##func##_all(&real, &imag, ARRAY(a))); \
1212
return real; \
1313
}
1414

@@ -20,7 +20,7 @@ SCALAR_RET_OP_DEF(min)
2020
JNIEXPORT jlong JNICALL ALGO_FUNC(func)(JNIEnv * env, jclass clazz, jlong a, \
2121
jint dim) { \
2222
af_array ret = 0; \
23-
(af_##func(&ret, ARRAY(a), dim)); \
23+
THROWS(af_##func(&ret, ARRAY(a), dim)); \
2424
return JLONG(ret); \
2525
}
2626

src/arith.cpp

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,40 @@ BEGIN_EXTERN_C
44

55
#define ARITH_FUNC(FUNC) AF_MANGLE(Arith, FUNC)
66

7-
#define BINARY_OP_DEF(func) \
8-
JNIEXPORT jlong JNICALL ARITH_FUNC(func)(JNIEnv * env, jclass clazz, \
9-
jlong a, jlong b) { \
10-
af_array ret = 0; \
11-
AF_TO_JAVA(af_##func(&ret, ARRAY(a), ARRAY(b), false)); \
12-
return JLONG(ret); \
13-
} \
14-
\
15-
JNIEXPORT jlong JNICALL ARITH_FUNC(func##f)(JNIEnv * env, jclass clazz, \
16-
jlong a, jfloat b) { \
17-
af_array ret = 0; \
18-
af_array tmp = 0; \
19-
dim_t dims[4]; \
20-
af_dtype ty = f32; \
21-
AF_TO_JAVA(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a))); \
22-
AF_TO_JAVA(af_get_type(&ty, ARRAY(a))); \
23-
AF_TO_JAVA(af_constant(&tmp, b, 4, dims, ty)); \
24-
AF_TO_JAVA(af_##func(&ret, ARRAY(a), tmp, false)); \
25-
AF_TO_JAVA(af_release_array(tmp)); \
26-
return JLONG(ret); \
27-
} \
28-
\
29-
JNIEXPORT jlong JNICALL ARITH_FUNC(f##func)(JNIEnv * env, jclass clazz, \
30-
float a, jlong b) { \
31-
af_array ret = 0; \
32-
af_array tmp = 0; \
33-
dim_t dims[4]; \
34-
af_dtype ty = f32; \
35-
AF_TO_JAVA(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(b))); \
36-
AF_TO_JAVA(af_get_type(&ty, ARRAY(b))); \
37-
AF_TO_JAVA(af_constant(&tmp, a, 4, dims, ty)); \
38-
AF_TO_JAVA(af_##func(&ret, tmp, ARRAY(b), false)); \
39-
AF_TO_JAVA(af_release_array(tmp)); \
40-
return JLONG(ret); \
7+
#define BINARY_OP_DEF(func) \
8+
JNIEXPORT jlong JNICALL ARITH_FUNC(func)(JNIEnv * env, jclass clazz, \
9+
jlong a, jlong b) { \
10+
af_array ret = 0; \
11+
THROWS(af_##func(&ret, ARRAY(a), ARRAY(b), false)); \
12+
return JLONG(ret); \
13+
} \
14+
\
15+
JNIEXPORT jlong JNICALL ARITH_FUNC(func##f)(JNIEnv * env, jclass clazz, \
16+
jlong a, jfloat b) { \
17+
af_array ret = 0; \
18+
af_array tmp = 0; \
19+
dim_t dims[4]; \
20+
af_dtype ty = f32; \
21+
THROWS(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a))); \
22+
THROWS(af_get_type(&ty, ARRAY(a))); \
23+
THROWS(af_constant(&tmp, b, 4, dims, ty)); \
24+
THROWS(af_##func(&ret, ARRAY(a), tmp, false)); \
25+
THROWS(af_release_array(tmp)); \
26+
return JLONG(ret); \
27+
} \
28+
\
29+
JNIEXPORT jlong JNICALL ARITH_FUNC(f##func)(JNIEnv * env, jclass clazz, \
30+
float a, jlong b) { \
31+
af_array ret = 0; \
32+
af_array tmp = 0; \
33+
dim_t dims[4]; \
34+
af_dtype ty = f32; \
35+
THROWS(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(b))); \
36+
THROWS(af_get_type(&ty, ARRAY(b))); \
37+
THROWS(af_constant(&tmp, a, 4, dims, ty)); \
38+
THROWS(af_##func(&ret, tmp, ARRAY(b), false)); \
39+
THROWS(af_release_array(tmp)); \
40+
return JLONG(ret); \
4141
}
4242

4343
BINARY_OP_DEF(add)
@@ -56,7 +56,7 @@ BINARY_OP_DEF(pow)
5656
JNIEXPORT jlong JNICALL ARITH_FUNC(func)(JNIEnv * env, jclass clazz, \
5757
jlong a) { \
5858
af_array ret = 0; \
59-
AF_TO_JAVA(af_##func(&ret, ARRAY(a))); \
59+
THROWS(af_##func(&ret, ARRAY(a))); \
6060
return JLONG(ret); \
6161
}
6262

src/array.cpp

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,42 @@ BEGIN_EXTERN_C
44

55
#define ARRAY_FUNC(FUNC) AF_MANGLE(Array, FUNC)
66

7-
JNIEXPORT void JNICALL ARRAY_FUNC(destroyArray)(JNIEnv *env, jclass clazz, jlong ref)
8-
{
9-
THROWS(af_release_array(ARRAY(ref)));
7+
JNIEXPORT void JNICALL ARRAY_FUNC(destroyArray)(JNIEnv *env, jclass clazz,
8+
jlong ref) {
9+
THROWS(af_release_array(ARRAY(ref)));
1010
}
1111

12-
JNIEXPORT jintArray JNICALL ARRAY_FUNC(getDims)(JNIEnv *env, jclass clazz, jlong ref)
13-
{
14-
jintArray result = env->NewIntArray(MaxDimSupported);
15-
if (result == NULL) {
16-
return NULL;
17-
}
12+
JNIEXPORT jintArray JNICALL ARRAY_FUNC(getDims)(JNIEnv *env, jclass clazz,
13+
jlong ref) {
14+
jintArray result = env->NewIntArray(MaxDimSupported);
15+
if (result == NULL) {
16+
return NULL;
17+
}
1818

19-
dim_t dims[4];
20-
THROWS(af_get_dims(dims + 0,
21-
dims + 1,
22-
dims + 2,
23-
dims + 3,
24-
ARRAY(ref)));
19+
dim_t dims[4];
20+
THROWS(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(ref)));
2521

26-
jint* dimsf = env->GetIntArrayElements(result, 0);
22+
jint *dimsf = env->GetIntArrayElements(result, 0);
2723

28-
for(int k=0; k<MaxDimSupported; ++k) {
29-
dimsf[k] = dims[k];
30-
}
31-
env->ReleaseIntArrayElements(result, dimsf, 0);
24+
for (int k = 0; k < MaxDimSupported; ++k) {
25+
dimsf[k] = dims[k];
26+
}
27+
env->ReleaseIntArrayElements(result, dimsf, 0);
3228

33-
return result;
29+
return result;
3430
}
3531

36-
JNIEXPORT jint JNICALL ARRAY_FUNC(getType)(JNIEnv *env, jclass clazz, jlong ref)
37-
{
38-
af_dtype ty = f32;
39-
THROWS(af_get_type(&ty, ARRAY(ref)));
40-
return ty;
32+
JNIEXPORT jint JNICALL ARRAY_FUNC(getType)(JNIEnv *env, jclass clazz,
33+
jlong ref) {
34+
af_dtype ty = f32;
35+
THROWS(af_get_type(&ty, ARRAY(ref)));
36+
return ty;
4137
}
4238

43-
JNIEXPORT jlong JNICALL ARRAY_FUNC(createIdentityArray)(JNIEnv *env, jclass clazz,
44-
jintArray dims, jint type) {
39+
JNIEXPORT jlong JNICALL ARRAY_FUNC(createIdentityArray)(JNIEnv *env,
40+
jclass clazz,
41+
jintArray dims,
42+
jint type) {
4543
af_array ret = 0;
4644
jint *dimptr = env->GetIntArrayElements(dims, 0);
4745
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};

src/data.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createRanduArray)(JNIEnv *env, jclass clazz,
1414
jint *dimptr = env->GetIntArrayElements(dims, 0);
1515
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};
1616
env->ReleaseIntArrayElements(dims, dimptr, 0);
17-
(af_randu(&ret, 4, tdims, (af_dtype)(type)));
17+
THROWS(af_randu(&ret, 4, tdims, (af_dtype)(type)));
1818
return JLONG(ret);
1919
}
2020

@@ -24,7 +24,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createRandnArray)(JNIEnv *env, jclass clazz,
2424
jint *dimptr = env->GetIntArrayElements(dims, 0);
2525
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};
2626
env->ReleaseIntArrayElements(dims, dimptr, 0);
27-
(af_randn(&ret, 4, tdims, (af_dtype)(type)));
27+
THROWS(af_randn(&ret, 4, tdims, (af_dtype)(type)));
2828
return JLONG(ret);
2929
}
3030

@@ -34,7 +34,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createConstantsArray)(
3434
jint *dimptr = env->GetIntArrayElements(dims, 0);
3535
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};
3636
env->ReleaseIntArrayElements(dims, dimptr, 0);
37-
(af_constant(&ret, val, 4, tdims, (af_dtype)(type)));
37+
THROWS(af_constant(&ret, val, 4, tdims, (af_dtype)(type)));
3838
return JLONG(ret);
3939
}
4040

@@ -44,7 +44,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createEmptyArray)(JNIEnv *env, jclass clazz,
4444
jint *dimptr = env->GetIntArrayElements(dims, 0);
4545
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};
4646
env->ReleaseIntArrayElements(dims, dimptr, 0);
47-
(af_create_handle(&ret, 4, tdims, (af_dtype)(type)));
47+
THROWS(af_create_handle(&ret, 4, tdims, (af_dtype)(type)));
4848
return JLONG(ret);
4949
}
5050

@@ -55,7 +55,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createEmptyArray)(JNIEnv *env, jclass clazz,
5555
jint *dimptr = env->GetIntArrayElements(dims, 0); \
5656
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]}; \
5757
void *inptr = (void *)env->Get##Ty##ArrayElements(elems, 0); \
58-
(af_create_array(&ret, inptr, 4, tdims, dty)); \
58+
THROWS(af_create_array(&ret, inptr, 4, tdims, dty)); \
5959
env->ReleaseIntArrayElements(dims, dimptr, 0); \
6060
env->Release##Ty##ArrayElements(elems, (j##ty *)inptr, 0); \
6161
return JLONG(ret); \
@@ -135,7 +135,7 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createArrayFromDoubleComplex)(
135135

136136
dim_t tdims[4] = {dimptr[0], dimptr[1], dimptr[2], dimptr[3]};
137137

138-
(af_create_array(&ret, (void *)tmp, 4, tdims, c64));
138+
THROWS(af_create_array(&ret, (void *)tmp, 4, tdims, c64));
139139

140140
free(tmp);
141141
env->ReleaseIntArrayElements(dims, dimptr, 0);
@@ -147,15 +147,15 @@ JNIEXPORT jlong JNICALL DATA_FUNC(createArrayFromDoubleComplex)(
147147
JNIEnv * env, jclass clazz, jlong ref) { \
148148
j##ty##Array result; \
149149
dim_t elements = 0; \
150-
(af_get_elements(&elements, ARRAY(ref))); \
150+
THROWS(af_get_elements(&elements, ARRAY(ref))); \
151151
result = env->New##Ty##Array(elements); \
152152
if (result == NULL) { \
153153
LOG("Something terrible happened. " \
154154
"Couldn't allocate heap space!!!!"); \
155155
return NULL; \
156156
} \
157157
j##ty *resf = env->Get##Ty##ArrayElements(result, 0); \
158-
(af_get_data_ptr((void *)resf, ARRAY(ref))); \
158+
THROWS(af_get_data_ptr((void *)resf, ARRAY(ref))); \
159159
env->Release##Ty##ArrayElements(result, resf, 0); \
160160
return result; \
161161
}
@@ -170,7 +170,7 @@ JNIEXPORT jobjectArray JNICALL DATA_FUNC(getFloatComplexFromArray)(JNIEnv *env,
170170
jlong ref) {
171171
jobjectArray result;
172172
dim_t elements = 0;
173-
(af_get_elements(&elements, ARRAY(ref)));
173+
THROWS(af_get_elements(&elements, ARRAY(ref)));
174174

175175
jclass cls = env->FindClass("com/arrayfire/FloatComplex");
176176
jmethodID id = env->GetMethodID(cls, "<init>", "(FF)V");
@@ -179,7 +179,7 @@ JNIEXPORT jobjectArray JNICALL DATA_FUNC(getFloatComplexFromArray)(JNIEnv *env,
179179
result = env->NewObjectArray(elements, cls, NULL);
180180

181181
af_cfloat *tmp = (af_cfloat *)malloc(sizeof(af_cfloat) * elements);
182-
(af_get_data_ptr((void *)tmp, ARRAY(ref)));
182+
THROWS(af_get_data_ptr((void *)tmp, ARRAY(ref)));
183183

184184
for (int i = 0; i < elements; i++) {
185185
float re = tmp[i].real;
@@ -196,7 +196,7 @@ JNIEXPORT jobjectArray JNICALL
196196
DATA_FUNC(getDoubleComplexFromArray)(JNIEnv *env, jclass clazz, jlong ref) {
197197
jobjectArray result;
198198
dim_t elements = 0;
199-
(af_get_elements(&elements, ARRAY(ref)));
199+
THROWS(af_get_elements(&elements, ARRAY(ref)));
200200

201201
jclass cls = env->FindClass("com/arrayfire/DoubleComplex");
202202
jmethodID id = env->GetMethodID(cls, "<init>", "(DD)V");
@@ -205,7 +205,7 @@ DATA_FUNC(getDoubleComplexFromArray)(JNIEnv *env, jclass clazz, jlong ref) {
205205
result = env->NewObjectArray(elements, cls, NULL);
206206

207207
af_cdouble *tmp = (af_cdouble *)malloc(sizeof(af_cdouble) * elements);
208-
(af_get_data_ptr((void *)tmp, ARRAY(ref)));
208+
THROWS(af_get_data_ptr((void *)tmp, ARRAY(ref)));
209209

210210
for (int i = 0; i < elements; i++) {
211211
double re = tmp[i].real;

src/image.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ BEGIN_EXTERN_C
88
JNIEXPORT jlong JNICALL IMAGE_FUNC(func)(JNIEnv * env, jclass clazz, \
99
jlong a, jlong b) { \
1010
af_array ret = 0; \
11-
AF_TO_JAVA(af_##func(&ret, ARRAY(a), ARRAY(b))); \
11+
THROWS(af_##func(&ret, ARRAY(a), ARRAY(b))); \
1212
return JLONG(ret); \
1313
}
1414

@@ -18,63 +18,63 @@ MORPH_OP_DEF(dilate)
1818
JNIEXPORT jlong JNICALL IMAGE_FUNC(medfilt)(JNIEnv *env, jclass clazz, jlong a,
1919
jint w, jint h) {
2020
af_array ret = 0;
21-
AF_TO_JAVA(af_medfilt(&ret, ARRAY(a), w, h, AF_PAD_ZERO));
21+
THROWS(af_medfilt(&ret, ARRAY(a), w, h, AF_PAD_ZERO));
2222
return JLONG(ret);
2323
}
2424

2525
JNIEXPORT jlong JNICALL IMAGE_FUNC(bilateral)(JNIEnv *env, jclass clazz,
2626
jlong a, jfloat space,
2727
jfloat color) {
2828
af_array ret = 0;
29-
AF_TO_JAVA(af_bilateral(&ret, ARRAY(a), space, color, false));
29+
THROWS(af_bilateral(&ret, ARRAY(a), space, color, false));
3030
return JLONG(ret);
3131
}
3232

3333
JNIEXPORT jlong JNICALL IMAGE_FUNC(meanshift)(JNIEnv *env, jclass clazz,
3434
jlong a, jfloat space,
3535
jfloat color, jint iter) {
3636
af_array ret = 0;
37-
AF_TO_JAVA(af_mean_shift(&ret, ARRAY(a), space, color, iter, false));
37+
THROWS(af_mean_shift(&ret, ARRAY(a), space, color, iter, false));
3838
return JLONG(ret);
3939
}
4040

4141
JNIEXPORT jlong JNICALL IMAGE_FUNC(histogram)(JNIEnv *env, jclass clazz,
4242
jlong a, jint nbins) {
4343
double rmin, imin;
4444
double rmax, imax;
45-
AF_TO_JAVA(af_min_all(&rmin, &imin, ARRAY(a)));
46-
AF_TO_JAVA(af_max_all(&rmax, &imax, ARRAY(a)));
45+
THROWS(af_min_all(&rmin, &imin, ARRAY(a)));
46+
THROWS(af_max_all(&rmax, &imax, ARRAY(a)));
4747

4848
af_array ret = 0;
49-
AF_TO_JAVA(af_histogram(&ret, ARRAY(a), nbins, rmin, rmax));
49+
THROWS(af_histogram(&ret, ARRAY(a), nbins, rmin, rmax));
5050
return JLONG(ret);
5151
}
5252

5353
JNIEXPORT jlong JNICALL IMAGE_FUNC(hist_mnmx)(JNIEnv *env, jclass clazz,
5454
jlong a, jint nbins, jfloat min,
5555
jfloat max) {
5656
af_array ret = 0;
57-
AF_TO_JAVA(af_histogram(&ret, ARRAY(a), nbins, min, max));
57+
THROWS(af_histogram(&ret, ARRAY(a), nbins, min, max));
5858
return JLONG(ret);
5959
}
6060

6161
JNIEXPORT jlong JNICALL IMAGE_FUNC(rotate)(JNIEnv *env, jclass clazz, jlong a,
6262
jfloat theta, jboolean crop,
6363
jint method) {
6464
af_array ret = 0;
65-
AF_TO_JAVA(af_rotate(&ret, ARRAY(a), theta, crop, (af_interp_type)method));
65+
THROWS(af_rotate(&ret, ARRAY(a), theta, crop, (af_interp_type)method));
6666
return JLONG(ret);
6767
}
6868

6969
JNIEXPORT jlong JNICALL IMAGE_FUNC(resize1)(JNIEnv *env, jclass clazz, jlong a,
7070
jfloat scale, jint method) {
7171
af_array ret = 0;
7272
dim_t dims[4];
73-
AF_TO_JAVA(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a)));
73+
THROWS(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a)));
7474

7575
dim_t odim0 = (dim_t)(scale * (float)dims[0]);
7676
dim_t odim1 = (dim_t)(scale * (float)dims[1]);
77-
AF_TO_JAVA(af_resize(&ret, ARRAY(a), odim0, odim1, (af_interp_type)method));
77+
THROWS(af_resize(&ret, ARRAY(a), odim0, odim1, (af_interp_type)method));
7878
return JLONG(ret);
7979
}
8080

@@ -83,19 +83,19 @@ JNIEXPORT jlong JNICALL IMAGE_FUNC(resize2)(JNIEnv *env, jclass clazz, jlong a,
8383
jint method) {
8484
af_array ret = 0;
8585
dim_t dims[4];
86-
AF_TO_JAVA(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a)));
86+
THROWS(af_get_dims(dims + 0, dims + 1, dims + 2, dims + 3, ARRAY(a)));
8787

8888
dim_t odim0 = (dim_t)(scalex * (float)dims[0]);
8989
dim_t odim1 = (dim_t)(scaley * (float)dims[1]);
90-
AF_TO_JAVA(af_resize(&ret, ARRAY(a), odim0, odim1, (af_interp_type)method));
90+
THROWS(af_resize(&ret, ARRAY(a), odim0, odim1, (af_interp_type)method));
9191
return JLONG(ret);
9292
}
9393

9494
JNIEXPORT jlong JNICALL IMAGE_FUNC(resize3)(JNIEnv *env, jclass clazz, jlong a,
9595
jint height, jint width,
9696
jint method) {
9797
af_array ret = 0;
98-
AF_TO_JAVA(af_resize(&ret, ARRAY(a), height, width, (af_interp_type)method));
98+
THROWS(af_resize(&ret, ARRAY(a), height, width, (af_interp_type)method));
9999
return JLONG(ret);
100100
}
101101

0 commit comments

Comments
 (0)