23 lines
790 B
C
23 lines
790 B
C
#include <jni.h>
|
|
#include "set_plot.h"
|
|
|
|
JNIEXPORT jdoubleArray JNICALL
|
|
Java_ru_setcorp_setprotocol_trends_NativePlot_evaluate(JNIEnv *env, jobject self,
|
|
jint operation, jdoubleArray input) {
|
|
double values[10], result[4];
|
|
jsize n;
|
|
size_t count;
|
|
jdoubleArray output;
|
|
(void)self;
|
|
if (!input) return NULL;
|
|
n = (*env)->GetArrayLength(env, input);
|
|
if (n < 0 || n > 10) return NULL;
|
|
(*env)->GetDoubleArrayRegion(env, input, 0, n, values);
|
|
if ((*env)->ExceptionCheck(env)) return NULL;
|
|
count = set_plot_eval((uint32_t)operation, values, (size_t)n, result, 4);
|
|
if (!count) return NULL;
|
|
output = (*env)->NewDoubleArray(env, (jsize)count);
|
|
if (output) (*env)->SetDoubleArrayRegion(env, output, 0, (jsize)count, result);
|
|
return output;
|
|
}
|