! File wrap.pyf python module _libsvm ! in interface ! in :libsvm function wrap_train(ngood, nbad, features, mgood, mbad) result(handle) intent(c) wrap_train ! foo is a C function intent(c) ! all foo arguments are ! considered as C based double precision dimension(*,*), intent(in) :: mgood double precision dimension(*,*), intent(in) :: mbad integer optional,intent(in,hide), depend(mgood) :: ngood = shape(mgood, 0) integer optional,intent(in,hide), depend(mbad) :: nbad = shape(mbad, 0) integer optional,intent(in,hide), check(shape(mbad,1)=shape(mgood,1)), depend(mbad) :: features = shape(mbad, 1) integer :: handle end function wrap_train function wrap_classify(handle, vec, n) result(class) intent(c) wrap_classify intent(c) double precision dimension(n), intent(in):: vec integer, intent(in):: handle integer, intent(in, hide) :: n = len(vec) double precision :: class end function wrap_classify subroutine wrap_classify_matrix(handle, mat, ze, sp, result) intent(c) wrap_classify_matrix intent(c) integer, intent(in):: handle double precision dimension(ze, sp), intent(in):: mat integer, intent(in, hide), depend(mat) :: ze = shape(mat, 0) integer, intent(in, hide), depend(mat) :: sp = shape(mat, 1) byte dimension(ze), intent(in, out), depend(mat) :: result end function wrap_classify_matrix subroutine get_sv(handle, i, f, sv) intent(c) get_sv intent(c) integer, intent(in):: handle, i, f double precision dimension(f), intent(hide, out):: sv end subroutine get_sv subroutine wrap_free(handle) intent(c) wrap_free intent(c) integer, intent(in) :: handle end subroutine wrap_free subroutine wrap_savemodel(handle, path) intent(c) wrap_savemodel intent(c) integer, intent(in) :: handle character(*), intent(in) :: path end subroutine wrap_savemodel function get_num_iter(handle) result(num_iter) intent(c) get_num_iter intent(c) integer, intent(in):: handle integer :: num_iter end function get_num_iter function get_num_sv(handle) result(num_sv) intent(c) get_num_sv intent(c) integer, intent(in):: handle integer :: num_sv end function get_num_sv function get_bias(handle) result(rho) intent(c) get_bias intent(c) integer, intent(in):: handle double :: rho end function get_bias subroutine set_bias(handle, rho) intent(c) set_bias intent(c) integer, intent(in):: handle double, intent(in) :: rho end function set_bias function get_alpha(handle, i) result(alpha) intent(c) get_alpha intent(c) integer, intent(in):: handle integer, intent(in):: i double precision :: alpha end function get_alpha subroutine set_verbose(v) intent(c) set_verbose intent(c) integer, intent(in) :: v end subroutine set_verbose subroutine set_maxiter(v) intent(c) set_maxiter intent(c) integer, intent(in) :: v end subroutine set_maxiter subroutine set_linear_kernel() intent(c) set_linear_kernel end subroutine set_linear_kernel subroutine set_radial_kernel() intent(c) set_radial_kernel end subroutine set_radial_kernel subroutine set_polynomial_kernel() intent(c) set_polynomial_kernel end subroutine set_polynomial_kernel subroutine set_degree(v) intent(c) set_degree intent(c) integer, intent(in) :: v end subroutine set_degree subroutine set_gamma(v) intent(c) set_gamma intent(c) double precision, intent(in) :: v end subroutine set_gamma subroutine set_coef0(v) intent(c) set_coef0 intent(c) double precision, intent(in) :: v end subroutine set_coef0 subroutine set_cache_size(v) intent(c) set_cache_size intent(c) double precision, intent(in) :: v end subroutine set_cache_size subroutine set_eps(v) intent(c) set_eps intent(c) double precision, intent(in) :: v end subroutine set_eps subroutine set_C(v) intent(c) set_C intent(c) double precision, intent(in) :: v end subroutine set_C subroutine set_Cpm(cp, cm) intent(c) set_Cpm intent(c) double precision, intent(in) :: cp double precision, intent(in) :: cm end subroutine set_Cpm end interface end python module _libsvm