Я уверен, что люди делают это все время, но мне трудно здесь.Я передаю массив чисел с плавающей точкой в функцию JNI, но затем я намерен использовать возможности ARM NEON SIMD для выполнения некоторых операций с этим массивом.Я ни в коем случае не эксперт по Си, так что я застрял.Вот набросок того, что я пытаюсь сделать.
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)
).Как правильно это сделать?