tinysvm_wrap.c

来自「机器学习工具:非常流行的一种分类器」· C语言 代码 · 共 738 行 · 第 1/2 页

C
738
字号
extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_BaseExample_1getAlpha(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jdouble jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        double result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (double )BaseExample_getAlpha(arg0,arg1);        jresult = (jdouble) result;        return jresult;}}double  BaseExample_getGradient(BaseExample *self,int i) {    {        if (self->G && i >= 0 && i < self->svindex_size) return self->G[i];        fprintf(stderr, "BaseExample::getGradient() -- \ngradient is not available or index is out of range\n");        return 0.0;    }}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_BaseExample_1getGradient(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jdouble jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        double result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (double )BaseExample_getGradient(arg0,arg1);        jresult = (jdouble) result;        return jresult;}}double  BaseExample_getG(BaseExample *self,int i) {    {        if (self->G && i >= 0 && i < self->svindex_size) return self->G[i];        fprintf(stderr, "BaseExample::getG() -- index is out of range\n");        return 0.0;    }}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_BaseExample_1getG(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jdouble jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        double result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (double )BaseExample_getG(arg0,arg1);        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1read(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        Model *arg0 ;        char *arg1 ;        char *arg2 = "r" ;        int arg3 = 0 ;        int result ;                arg0 = *(Model **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->read((char const *)arg1,(char const *)arg2,arg3);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        if(arg2) jenv->ReleaseStringUTFChars(jarg2, arg2);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1write(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        Model *arg0 ;        char *arg1 ;        char *arg2 = "w" ;        int arg3 = 0 ;        int result ;                arg0 = *(Model **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->write((char const *)arg1,(char const *)arg2,arg3);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        if(arg2) jenv->ReleaseStringUTFChars(jarg2, arg2);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1clear(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        Model *arg0 ;        int result ;                arg0 = *(Model **)&jarg0;        result = (int )arg0->clear();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1classify(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1) {        jdouble jresult = 0 ;        Model *arg0 ;        char *arg1 ;        double result ;                arg0 = *(Model **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        result = (double )arg0->classify((char const *)arg1);        jresult = (jdouble) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1estimateMargin(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jdouble jresult = 0 ;        Model *arg0 ;        double result ;                arg0 = *(Model **)&jarg0;        result = (double )arg0->estimateMargin();        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1estimateSphere(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jdouble jresult = 0 ;        Model *arg0 ;        double result ;                arg0 = *(Model **)&jarg0;        result = (double )arg0->estimateSphere();        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1estimateVC(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jdouble jresult = 0 ;        Model *arg0 ;        double result ;                arg0 = *(Model **)&jarg0;        result = (double )arg0->estimateVC();        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1estimateXA(JNIEnv *jenv, jclass jcls, jlong jarg0, jdouble jarg1) {        jdouble jresult = 0 ;        Model *arg0 ;        double arg1 = 2.0 ;        double result ;                arg0 = *(Model **)&jarg0;        arg1 = (double ) jarg1;        result = (double )arg0->estimateXA(arg1);        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1compress(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        Model *arg0 ;        int result ;                arg0 = *(Model **)&jarg0;        result = (int )arg0->compress();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1getSVnum(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        Model *arg0 ;        int result ;                arg0 = *(Model **)&jarg0;        result = (int )arg0->getSVnum();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1getBSVnum(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        Model *arg0 ;        int result ;                arg0 = *(Model **)&jarg0;        result = (int )arg0->getBSVnum();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Model_1getTrainingDataSize(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        Model *arg0 ;        int result ;                arg0 = *(Model **)&jarg0;        result = (int )arg0->getTrainingDataSize();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_Model_1getLoss(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jdouble jresult = 0 ;        Model *arg0 ;        double result ;                arg0 = *(Model **)&jarg0;        result = (double )arg0->getLoss();        jresult = (jdouble) result;        return jresult;}}extern "C"{    JNIEXPORT jlong JNICALL Java_TinySVM_new_1Model(JNIEnv *jenv, jclass jcls) {        jlong jresult = 0 ;        Model *result ;                result = (Model *)new Model();        *(Model **)&jresult = result;        return jresult;}}extern "C"{    JNIEXPORT void JNICALL Java_TinySVM_delete_1Model(JNIEnv *jenv, jclass jcls, jlong jarg0) {        Model *arg0 ;                arg0 = *(Model **)&jarg0;        delete arg0;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Example_1read(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        Example *arg0 ;        char *arg1 ;        char *arg2 = "r" ;        int arg3 = 0 ;        int result ;                arg0 = *(Example **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->read((char const *)arg1,(char const *)arg2,arg3);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        if(arg2) jenv->ReleaseStringUTFChars(jarg2, arg2);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Example_1write(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        Example *arg0 ;        char *arg1 ;        char *arg2 = "w" ;        int arg3 = 0 ;        int result ;                arg0 = *(Example **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->write((char const *)arg1,(char const *)arg2,arg3);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        if(arg2) jenv->ReleaseStringUTFChars(jarg2, arg2);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_Example_1rebuildSVindex(JNIEnv *jenv, jclass jcls, jlong jarg0, jlong jarg1) {        jint jresult = 0 ;        Example *arg0 ;        Model *arg1 ;        int result ;                arg0 = *(Example **)&jarg0;        arg1 = *(Model **)&jarg1;        result = (int )arg0->rebuildSVindex(arg1);        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jlong JNICALL Java_TinySVM_Example_1learn(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1) {        jlong jresult = 0 ;        Example *arg0 ;        char *arg1 = 0 ;        Model *result ;                arg0 = *(Example **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        result = (Model *)arg0->learn((char const *)arg1);        *(Model **)&jresult = result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        return jresult;}}extern "C"{    JNIEXPORT jlong JNICALL Java_TinySVM_new_1Example(JNIEnv *jenv, jclass jcls) {        jlong jresult = 0 ;        Example *result ;                result = (Example *)new Example();        *(Example **)&jresult = result;        return jresult;}}extern "C"{    JNIEXPORT void JNICALL Java_TinySVM_delete_1Example(JNIEnv *jenv, jclass jcls, jlong jarg0) {        Example *arg0 ;                arg0 = *(Example **)&jarg0;        delete arg0;}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?