2 #include "a/trajtrap.h"
3 #include "liba_trajtrap.h"
6 #define L Java_liba_trajtrap
13 JNIEXPORT
void JNICALL
Java_liba_trajtrap_clinit(JNIEnv
*_env
, jclass _cls
)
15 jclass _nbb
= (*_env
)->FindClass(_env
, "Ljava/nio/ByteBuffer;");
16 L
._new
= (*_env
)->GetStaticMethodID(_env
, _nbb
, "allocateDirect", "(I)Ljava/nio/ByteBuffer;");
17 L
.ctx
= (*_env
)->GetFieldID(_env
, _cls
, "ctx", "Ljava/nio/ByteBuffer;");
20 JNIEXPORT
void JNICALL
Java_liba_trajtrap_init(JNIEnv
*_env
, jobject _obj
)
22 jobject _ctx
= (*_env
)->CallObjectMethod(_env
, _obj
, L
._new
, (jint
)sizeof(a_trajtrap
));
23 (*_env
)->SetObjectField(_env
, _obj
, L
.ctx
, _ctx
);
26 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_gen(JNIEnv
*_env
, jobject _obj
, jdouble vm
, jdouble ac
, jdouble de
, jdouble p0
, jdouble p1
, jdouble vs
, jdouble ve
)
28 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
29 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
30 return a_trajtrap_gen(ctx
, vm
, ac
, de
, p0
, p1
, vs
, ve
);
33 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_t(JNIEnv
*_env
, jobject _obj
)
35 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
36 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
40 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_p0(JNIEnv
*_env
, jobject _obj
)
42 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
43 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
47 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_p1(JNIEnv
*_env
, jobject _obj
)
49 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
50 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
54 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_v0(JNIEnv
*_env
, jobject _obj
)
56 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
57 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
61 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_v1(JNIEnv
*_env
, jobject _obj
)
63 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
64 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
68 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_vc(JNIEnv
*_env
, jobject _obj
)
70 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
71 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
75 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_ta(JNIEnv
*_env
, jobject _obj
)
77 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
78 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
82 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_td(JNIEnv
*_env
, jobject _obj
)
84 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
85 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
89 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_pa(JNIEnv
*_env
, jobject _obj
)
91 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
92 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
96 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_pd(JNIEnv
*_env
, jobject _obj
)
98 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
99 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
103 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_ac(JNIEnv
*_env
, jobject _obj
)
105 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
106 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
110 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_de(JNIEnv
*_env
, jobject _obj
)
112 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
113 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
117 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_pos(JNIEnv
*_env
, jobject _obj
, jdouble x
)
119 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
120 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
121 return a_trajtrap_pos(ctx
, x
);
124 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_vel(JNIEnv
*_env
, jobject _obj
, jdouble x
)
126 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
127 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
128 return a_trajtrap_vel(ctx
, x
);
131 JNIEXPORT jdouble JNICALL
Java_liba_trajtrap_acc(JNIEnv
*_env
, jobject _obj
, jdouble x
)
133 jobject _ctx
= (*_env
)->GetObjectField(_env
, _obj
, L
.ctx
);
134 a_trajtrap
*ctx
= (a_trajtrap
*)(*_env
)->GetDirectBufferAddress(_env
, _ctx
);
135 return a_trajtrap_acc(ctx
, x
);