人々はいつもこれをしていると思いますが、私はここで苦労しています。float の配列を JNI 関数に渡していますが、ARM の NEON SIMD 機能を使用して、この配列に対していくつかの操作を実行するつもりです。私は決してCの専門家ではないので、ちょっと行き詰まっています。これが私がやろうとしていることのスケッチです。
JNIEXPORT jfloatArray JNICALL Java_com_blah (JNIEnv *env, jobject obj, jfloatArray input)
{
jfloat * x;
float32_t * y;
x = (*env)->GetFloatArrayElements(env,input,0);
// Assign x to y
// Perform some stuff on y
// Return y as a Java float array back to caller
}
C を使用して配列全体を型キャストする方法を考えなければなりません。また、Java から配列エントリを抽出するときに直接行う方法があるかもしれません ( x = (*env)->GetFloatArrayElements(env,input,0)
)。これについての正しい方法は何ですか?