# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_svmc')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_svmc')
    _svmc = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_svmc', [dirname(__file__)])
        except ImportError:
            from . import _svmc
            return _svmc
        try:
            _mod = imp.load_module('_svmc', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _svmc = swig_import_helper()
    del swig_import_helper
else:
    from . import _svmc
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import builtins

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except builtins.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except builtins.Exception:
    class _object:
        pass
    _newclass = 0

__version__ = _svmc.__version__
C_SVC = _svmc.C_SVC
NU_SVC = _svmc.NU_SVC
ONE_CLASS = _svmc.ONE_CLASS
EPSILON_SVR = _svmc.EPSILON_SVR
NU_SVR = _svmc.NU_SVR
LINEAR = _svmc.LINEAR
POLY = _svmc.POLY
RBF = _svmc.RBF
SIGMOID = _svmc.SIGMOID
PRECOMPUTED = _svmc.PRECOMPUTED
class svm_parameter(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, svm_parameter, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, svm_parameter, name)
    __repr__ = _swig_repr
    __swig_setmethods__["svm_type"] = _svmc.svm_parameter_svm_type_set
    __swig_getmethods__["svm_type"] = _svmc.svm_parameter_svm_type_get
    if _newclass:
        svm_type = _swig_property(_svmc.svm_parameter_svm_type_get, _svmc.svm_parameter_svm_type_set)
    __swig_setmethods__["kernel_type"] = _svmc.svm_parameter_kernel_type_set
    __swig_getmethods__["kernel_type"] = _svmc.svm_parameter_kernel_type_get
    if _newclass:
        kernel_type = _swig_property(_svmc.svm_parameter_kernel_type_get, _svmc.svm_parameter_kernel_type_set)
    __swig_setmethods__["degree"] = _svmc.svm_parameter_degree_set
    __swig_getmethods__["degree"] = _svmc.svm_parameter_degree_get
    if _newclass:
        degree = _swig_property(_svmc.svm_parameter_degree_get, _svmc.svm_parameter_degree_set)
    __swig_setmethods__["gamma"] = _svmc.svm_parameter_gamma_set
    __swig_getmethods__["gamma"] = _svmc.svm_parameter_gamma_get
    if _newclass:
        gamma = _swig_property(_svmc.svm_parameter_gamma_get, _svmc.svm_parameter_gamma_set)
    __swig_setmethods__["coef0"] = _svmc.svm_parameter_coef0_set
    __swig_getmethods__["coef0"] = _svmc.svm_parameter_coef0_get
    if _newclass:
        coef0 = _swig_property(_svmc.svm_parameter_coef0_get, _svmc.svm_parameter_coef0_set)
    __swig_setmethods__["cache_size"] = _svmc.svm_parameter_cache_size_set
    __swig_getmethods__["cache_size"] = _svmc.svm_parameter_cache_size_get
    if _newclass:
        cache_size = _swig_property(_svmc.svm_parameter_cache_size_get, _svmc.svm_parameter_cache_size_set)
    __swig_setmethods__["eps"] = _svmc.svm_parameter_eps_set
    __swig_getmethods__["eps"] = _svmc.svm_parameter_eps_get
    if _newclass:
        eps = _swig_property(_svmc.svm_parameter_eps_get, _svmc.svm_parameter_eps_set)
    __swig_setmethods__["C"] = _svmc.svm_parameter_C_set
    __swig_getmethods__["C"] = _svmc.svm_parameter_C_get
    if _newclass:
        C = _swig_property(_svmc.svm_parameter_C_get, _svmc.svm_parameter_C_set)
    __swig_setmethods__["nr_weight"] = _svmc.svm_parameter_nr_weight_set
    __swig_getmethods__["nr_weight"] = _svmc.svm_parameter_nr_weight_get
    if _newclass:
        nr_weight = _swig_property(_svmc.svm_parameter_nr_weight_get, _svmc.svm_parameter_nr_weight_set)
    __swig_setmethods__["weight_label"] = _svmc.svm_parameter_weight_label_set
    __swig_getmethods__["weight_label"] = _svmc.svm_parameter_weight_label_get
    if _newclass:
        weight_label = _swig_property(_svmc.svm_parameter_weight_label_get, _svmc.svm_parameter_weight_label_set)
    __swig_setmethods__["weight"] = _svmc.svm_parameter_weight_set
    __swig_getmethods__["weight"] = _svmc.svm_parameter_weight_get
    if _newclass:
        weight = _swig_property(_svmc.svm_parameter_weight_get, _svmc.svm_parameter_weight_set)
    __swig_setmethods__["nu"] = _svmc.svm_parameter_nu_set
    __swig_getmethods__["nu"] = _svmc.svm_parameter_nu_get
    if _newclass:
        nu = _swig_property(_svmc.svm_parameter_nu_get, _svmc.svm_parameter_nu_set)
    __swig_setmethods__["p"] = _svmc.svm_parameter_p_set
    __swig_getmethods__["p"] = _svmc.svm_parameter_p_get
    if _newclass:
        p = _swig_property(_svmc.svm_parameter_p_get, _svmc.svm_parameter_p_set)
    __swig_setmethods__["shrinking"] = _svmc.svm_parameter_shrinking_set
    __swig_getmethods__["shrinking"] = _svmc.svm_parameter_shrinking_get
    if _newclass:
        shrinking = _swig_property(_svmc.svm_parameter_shrinking_get, _svmc.svm_parameter_shrinking_set)
    __swig_setmethods__["probability"] = _svmc.svm_parameter_probability_set
    __swig_getmethods__["probability"] = _svmc.svm_parameter_probability_get
    if _newclass:
        probability = _swig_property(_svmc.svm_parameter_probability_get, _svmc.svm_parameter_probability_set)

    def __init__(self):
        this = _svmc.new_svm_parameter()
        try:
            self.this.append(this)
        except builtins.Exception:
            self.this = this
    __swig_destroy__ = _svmc.delete_svm_parameter
    __del__ = lambda self: None
svm_parameter_swigregister = _svmc.svm_parameter_swigregister
svm_parameter_swigregister(svm_parameter)

class svm_problem(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, svm_problem, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, svm_problem, name)
    __repr__ = _swig_repr
    __swig_setmethods__["l"] = _svmc.svm_problem_l_set
    __swig_getmethods__["l"] = _svmc.svm_problem_l_get
    if _newclass:
        l = _swig_property(_svmc.svm_problem_l_get, _svmc.svm_problem_l_set)
    __swig_setmethods__["y"] = _svmc.svm_problem_y_set
    __swig_getmethods__["y"] = _svmc.svm_problem_y_get
    if _newclass:
        y = _swig_property(_svmc.svm_problem_y_get, _svmc.svm_problem_y_set)
    __swig_setmethods__["x"] = _svmc.svm_problem_x_set
    __swig_getmethods__["x"] = _svmc.svm_problem_x_get
    if _newclass:
        x = _swig_property(_svmc.svm_problem_x_get, _svmc.svm_problem_x_set)

    def __init__(self):
        this = _svmc.new_svm_problem()
        try:
            self.this.append(this)
        except builtins.Exception:
            self.this = this
    __swig_destroy__ = _svmc.delete_svm_problem
    __del__ = lambda self: None
svm_problem_swigregister = _svmc.svm_problem_swigregister
svm_problem_swigregister(svm_problem)

class svm_model(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, svm_model, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, svm_model, name)
    __repr__ = _swig_repr
    __swig_setmethods__["param"] = _svmc.svm_model_param_set
    __swig_getmethods__["param"] = _svmc.svm_model_param_get
    if _newclass:
        param = _swig_property(_svmc.svm_model_param_get, _svmc.svm_model_param_set)
    __swig_setmethods__["nr_class"] = _svmc.svm_model_nr_class_set
    __swig_getmethods__["nr_class"] = _svmc.svm_model_nr_class_get
    if _newclass:
        nr_class = _swig_property(_svmc.svm_model_nr_class_get, _svmc.svm_model_nr_class_set)
    __swig_setmethods__["l"] = _svmc.svm_model_l_set
    __swig_getmethods__["l"] = _svmc.svm_model_l_get
    if _newclass:
        l = _swig_property(_svmc.svm_model_l_get, _svmc.svm_model_l_set)
    __swig_setmethods__["SV"] = _svmc.svm_model_SV_set
    __swig_getmethods__["SV"] = _svmc.svm_model_SV_get
    if _newclass:
        SV = _swig_property(_svmc.svm_model_SV_get, _svmc.svm_model_SV_set)
    __swig_setmethods__["sv_coef"] = _svmc.svm_model_sv_coef_set
    __swig_getmethods__["sv_coef"] = _svmc.svm_model_sv_coef_get
    if _newclass:
        sv_coef = _swig_property(_svmc.svm_model_sv_coef_get, _svmc.svm_model_sv_coef_set)
    __swig_setmethods__["rho"] = _svmc.svm_model_rho_set
    __swig_getmethods__["rho"] = _svmc.svm_model_rho_get
    if _newclass:
        rho = _swig_property(_svmc.svm_model_rho_get, _svmc.svm_model_rho_set)
    __swig_setmethods__["probA"] = _svmc.svm_model_probA_set
    __swig_getmethods__["probA"] = _svmc.svm_model_probA_get
    if _newclass:
        probA = _swig_property(_svmc.svm_model_probA_get, _svmc.svm_model_probA_set)
    __swig_setmethods__["probB"] = _svmc.svm_model_probB_set
    __swig_getmethods__["probB"] = _svmc.svm_model_probB_get
    if _newclass:
        probB = _swig_property(_svmc.svm_model_probB_get, _svmc.svm_model_probB_set)
    __swig_setmethods__["label"] = _svmc.svm_model_label_set
    __swig_getmethods__["label"] = _svmc.svm_model_label_get
    if _newclass:
        label = _swig_property(_svmc.svm_model_label_get, _svmc.svm_model_label_set)
    __swig_setmethods__["nSV"] = _svmc.svm_model_nSV_set
    __swig_getmethods__["nSV"] = _svmc.svm_model_nSV_get
    if _newclass:
        nSV = _swig_property(_svmc.svm_model_nSV_get, _svmc.svm_model_nSV_set)
    __swig_setmethods__["free_sv"] = _svmc.svm_model_free_sv_set
    __swig_getmethods__["free_sv"] = _svmc.svm_model_free_sv_get
    if _newclass:
        free_sv = _swig_property(_svmc.svm_model_free_sv_get, _svmc.svm_model_free_sv_set)

    def __init__(self):
        this = _svmc.new_svm_model()
        try:
            self.this.append(this)
        except builtins.Exception:
            self.this = this
    __swig_destroy__ = _svmc.delete_svm_model
    __del__ = lambda self: None
svm_model_swigregister = _svmc.svm_model_swigregister
svm_model_swigregister(svm_model)


def svm_set_verbosity(verbosity_flag):
    return _svmc.svm_set_verbosity(verbosity_flag)
svm_set_verbosity = _svmc.svm_set_verbosity

def svm_train(prob, param):
    return _svmc.svm_train(prob, param)
svm_train = _svmc.svm_train

def svm_cross_validation(prob, param, nr_fold, target):
    return _svmc.svm_cross_validation(prob, param, nr_fold, target)
svm_cross_validation = _svmc.svm_cross_validation

def svm_save_model(model_file_name, model):
    return _svmc.svm_save_model(model_file_name, model)
svm_save_model = _svmc.svm_save_model

def svm_load_model(model_file_name):
    return _svmc.svm_load_model(model_file_name)
svm_load_model = _svmc.svm_load_model

def svm_get_svm_type(model):
    return _svmc.svm_get_svm_type(model)
svm_get_svm_type = _svmc.svm_get_svm_type

def svm_get_nr_class(model):
    return _svmc.svm_get_nr_class(model)
svm_get_nr_class = _svmc.svm_get_nr_class

def svm_get_labels(model, label):
    return _svmc.svm_get_labels(model, label)
svm_get_labels = _svmc.svm_get_labels

def svm_get_svr_probability(model):
    return _svmc.svm_get_svr_probability(model)
svm_get_svr_probability = _svmc.svm_get_svr_probability

def svm_predict_values(model, x, decvalue):
    return _svmc.svm_predict_values(model, x, decvalue)
svm_predict_values = _svmc.svm_predict_values

def svm_predict(model, x):
    return _svmc.svm_predict(model, x)
svm_predict = _svmc.svm_predict

def svm_predict_probability(model, x, prob_estimates):
    return _svmc.svm_predict_probability(model, x, prob_estimates)
svm_predict_probability = _svmc.svm_predict_probability

def svm_check_parameter(prob, param):
    return _svmc.svm_check_parameter(prob, param)
svm_check_parameter = _svmc.svm_check_parameter

def svm_check_probability_model(model):
    return _svmc.svm_check_probability_model(model)
svm_check_probability_model = _svmc.svm_check_probability_model

def svm_node_matrix2numpy_array(matrix, rows, cols):
    return _svmc.svm_node_matrix2numpy_array(matrix, rows, cols)
svm_node_matrix2numpy_array = _svmc.svm_node_matrix2numpy_array

def doubleppcarray2numpy_array(data, rows, cols):
    return _svmc.doubleppcarray2numpy_array(data, rows, cols)
doubleppcarray2numpy_array = _svmc.doubleppcarray2numpy_array

def new_int(nelements):
    return _svmc.new_int(nelements)
new_int = _svmc.new_int

def delete_int(ary):
    return _svmc.delete_int(ary)
delete_int = _svmc.delete_int

def int_getitem(ary, index):
    return _svmc.int_getitem(ary, index)
int_getitem = _svmc.int_getitem

def int_setitem(ary, index, value):
    return _svmc.int_setitem(ary, index, value)
int_setitem = _svmc.int_setitem

def new_double(nelements):
    return _svmc.new_double(nelements)
new_double = _svmc.new_double

def delete_double(ary):
    return _svmc.delete_double(ary)
delete_double = _svmc.delete_double

def double_getitem(ary, index):
    return _svmc.double_getitem(ary, index)
double_getitem = _svmc.double_getitem

def double_setitem(ary, index, value):
    return _svmc.double_setitem(ary, index, value)
double_setitem = _svmc.double_setitem

def svm_node_array(size):
    return _svmc.svm_node_array(size)
svm_node_array = _svmc.svm_node_array

def svm_node_array_set(*args):
    return _svmc.svm_node_array_set(*args)
svm_node_array_set = _svmc.svm_node_array_set

def svm_node_array_destroy(array):
    return _svmc.svm_node_array_destroy(array)
svm_node_array_destroy = _svmc.svm_node_array_destroy

def svm_node_matrix(size):
    return _svmc.svm_node_matrix(size)
svm_node_matrix = _svmc.svm_node_matrix

def svm_node_matrix_set(matrix, i, array):
    return _svmc.svm_node_matrix_set(matrix, i, array)
svm_node_matrix_set = _svmc.svm_node_matrix_set

def svm_node_matrix_destroy(matrix):
    return _svmc.svm_node_matrix_destroy(matrix)
svm_node_matrix_destroy = _svmc.svm_node_matrix_destroy

def svm_destroy_model_helper(model_ptr):
    return _svmc.svm_destroy_model_helper(model_ptr)
svm_destroy_model_helper = _svmc.svm_destroy_model_helper
# This file is compatible with both classic and new-style classes.


