tinysvm_wrap.c

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

C
738
字号
/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.6u-20010826-1259 *  * This file is not intended to be easily readable and contains a number of  * coding conventions designed to improve portability and efficiency. Do not make * changes to this file unless you know what you are doing--modify the SWIG  * interface file instead.  * ----------------------------------------------------------------------------- *//* Implementation : Java */#include <jni.h>#include <stdlib.h>#ifdef __cplusplus#define JCALL(func, jenv) jenv->func(#else#define JCALL(func, jenv) (*jenv)->func(jenv,#endif#define J_CLASSNAME TinySVM#define J_PACKAGE#include <tinysvm.h>#include <ctype.h>#include <string.h>#define BaseExample TinySVM::BaseExample#define Example TinySVM::Example #define Model TinySVM::Model#undef VALUEFUNC#define VALUEFUNC(f) ((VALUE (*)())f)extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1add(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        result = (int )arg0->add((char const *)arg1);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1set(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1, jstring jarg2) {        jint jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        char *arg2 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        result = (int )arg0->set(arg1,(char const *)arg2);        jresult = (jint) result;        if(arg2) jenv->ReleaseStringUTFChars(jarg2, arg2);        return jresult;}}extern "C"{    JNIEXPORT jstring JNICALL Java_TinySVM_BaseExample_1get(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jstring jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        char *result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (char *)arg0->get(arg1);        if(result != NULL)        jresult = (jstring)jenv->NewStringUTF(result);        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1remove(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jint jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (int )arg0->remove(arg1);        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1clear(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        BaseExample *arg0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        result = (int )arg0->clear();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1size(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        BaseExample *arg0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        result = (int )arg0->size();        jresult = (jint) result;        return jresult;}}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1read(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        char *arg2 = "r" ;        int arg3 = 0 ;        int result ;                arg0 = *(BaseExample **)&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_BaseExample_1write(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        char *arg2 = "w" ;        int arg3 = 0 ;        int result ;                arg0 = *(BaseExample **)&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_BaseExample_1readSVindex(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        char *arg2 = "r" ;        int arg3 = 0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->readSVindex((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_BaseExample_1writeSVindex(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1, jstring jarg2, jint jarg3) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        char *arg2 = "w" ;        int arg3 = 0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        arg2 = (jarg2) ? (char *)jenv->GetStringUTFChars(jarg2, 0) : NULL;        arg3 = (int ) jarg3;        result = (int )arg0->writeSVindex((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 void JNICALL Java_TinySVM_delete_1BaseExample(JNIEnv *jenv, jclass jcls, jlong jarg0) {        BaseExample *arg0 ;                arg0 = *(BaseExample **)&jarg0;        delete arg0;}}int  BaseExample_append(BaseExample *self,char *f) {    {        return self->write(f,"a");     }}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1append(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        result = (int )BaseExample_append(arg0,arg1);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        return jresult;}}int  BaseExample_appendSVindex(BaseExample *self,char *f) {    {        return self->writeSVindex(f,"a");     }}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1appendSVindex(JNIEnv *jenv, jclass jcls, jlong jarg0, jstring jarg1) {        jint jresult = 0 ;        BaseExample *arg0 ;        char *arg1 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (jarg1) ? (char *)jenv->GetStringUTFChars(jarg1, 0) : NULL;        result = (int )BaseExample_appendSVindex(arg0,arg1);        jresult = (jint) result;        if(arg1) jenv->ReleaseStringUTFChars(jarg1, arg1);        return jresult;}}int  BaseExample_getDimension(BaseExample *self) {    {        return self->d;     }}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1getDimension(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        BaseExample *arg0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        result = (int )BaseExample_getDimension(arg0);        jresult = (jint) result;        return jresult;}}int  BaseExample_getNonzeroDimension(BaseExample *self) {    {        return self->pack_d;     }}extern "C"{    JNIEXPORT jint JNICALL Java_TinySVM_BaseExample_1getNonzeroDimension(JNIEnv *jenv, jclass jcls, jlong jarg0) {        jint jresult = 0 ;        BaseExample *arg0 ;        int result ;                arg0 = *(BaseExample **)&jarg0;        result = (int )BaseExample_getNonzeroDimension(arg0);        jresult = (jint) result;        return jresult;}}double  BaseExample_getY(BaseExample *self,int i) {    {        if (i >= 0 && i < self->l) return self->y[i];        fprintf(stderr, "BaseExample::getY() -- index is out of range\n");        return 0.0;    }}extern "C"{    JNIEXPORT jdouble JNICALL Java_TinySVM_BaseExample_1getY(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_getY(arg0,arg1);        jresult = (jdouble) result;        return jresult;}}char const * BaseExample_getX(BaseExample *self,int i) {    {        const char *s = self->get(i);        if (!s) return 0;                int len = strlen (s);        int i;        for (i = 0; i < len;) {            while (isspace (s[i])) i++;            while (i < len && !isspace (s[i])) i++;            while (i < len && isspace (s[i]))  i++;            break;        }                return (const char*)(s + i);    }}extern "C"{    JNIEXPORT jstring JNICALL Java_TinySVM_BaseExample_1getX(JNIEnv *jenv, jclass jcls, jlong jarg0, jint jarg1) {        jstring jresult = 0 ;        BaseExample *arg0 ;        int arg1 ;        char *result ;                arg0 = *(BaseExample **)&jarg0;        arg1 = (int ) jarg1;        result = (char *)BaseExample_getX(arg0,arg1);        if(result != NULL)        jresult = (jstring)jenv->NewStringUTF(result);        return jresult;}}double  BaseExample_getAlpha(BaseExample *self,int i) {    {        if (self->alpha && i >= 0 && i < self->svindex_size) return self->alpha[i];        fprintf(stderr, "BaseExample::getAlpha() -- \nalpha is not available or index is out of range\n");        return 0.0;    }}

⌨️ 快捷键说明

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