func cNodes(nodes []FeatureValue) *C.svm_node_t { n := C.nodes_new(C.size_t(len(nodes))) for idx, val := range nodes { C.nodes_put(n, C.size_t(idx), C.int(val.Index), C.double(val.Value)) } return n }
func (problem *Problem) Add(trainInst TrainingInstance) { features := sortedFeatureVector(trainInst.Features) nodes := C.nodes_new(C.size_t(len(features))) for idx, val := range features { C.nodes_put(nodes, C.size_t(idx), C.int(val.Index), C.double(val.Value)) } C.problem_add_train_inst(problem.problem, nodes, C.double(trainInst.Label)) }
func newNodes(n C.size_t) *C.feature_node_t { nodes := tryNew(func() unsafe.Pointer { return unsafe.Pointer(C.nodes_new(n)) }) return (*C.feature_node_t)(nodes) }