mirror of
https://github.com/sjwhitworth/golearn.git
synced 2025-04-25 13:48:49 +08:00
Revert "Remove (mostly) unused C print functions in linear package"
This reverts commit f9e41dec2860090e00dd1e0fb74c1beb79197ae5.
This commit is contained in:
parent
f9e41dec28
commit
25811f833b
14
linear_models/cfuncs.go
Normal file
14
linear_models/cfuncs.go
Normal file
@ -0,0 +1,14 @@
|
||||
// +build go1.2
|
||||
|
||||
package linear_models
|
||||
|
||||
/*
|
||||
|
||||
void libLinearPrintFunc(char *);
|
||||
|
||||
void golearn_liblinear_print_func_cgo(char *c) {
|
||||
libLinearPrintFunc(c);
|
||||
}
|
||||
|
||||
*/
|
||||
import "C"
|
@ -59,6 +59,7 @@ func NewProblem(X [][]float64, y []float64, bias float64) *Problem {
|
||||
}
|
||||
|
||||
func Train(prob *Problem, param *Parameter) *Model {
|
||||
libLinearHookPrintFunc() // Sets up logging
|
||||
return &Model{C.train(&prob.c_prob, ¶m.c_param)}
|
||||
}
|
||||
|
||||
|
27
linear_models/liblinear_print.go
Normal file
27
linear_models/liblinear_print.go
Normal file
@ -0,0 +1,27 @@
|
||||
// +build go1.2
|
||||
|
||||
package linear_models
|
||||
|
||||
/*
|
||||
#cgo LDFLAGS: -llinear
|
||||
#cgo CFLAGS:
|
||||
#include <linear.h>
|
||||
|
||||
typedef void (*print_func)(char *);
|
||||
void golearn_liblinear_print_func_cgo(char *);
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
//export libLinearPrintFunc
|
||||
func libLinearPrintFunc(str *C.char) {
|
||||
fmt.Println(C.GoString(str))
|
||||
}
|
||||
|
||||
func libLinearHookPrintFunc() {
|
||||
C.set_print_string_function((C.print_func)(unsafe.Pointer(C.golearn_liblinear_print_func_cgo)))
|
||||
}
|
16
linear_models/liblinear_print_11.go
Normal file
16
linear_models/liblinear_print_11.go
Normal file
@ -0,0 +1,16 @@
|
||||
// +build go1.1
|
||||
// +build !go1.2
|
||||
// +build !go1.3
|
||||
|
||||
package linear_models
|
||||
|
||||
import "C"
|
||||
|
||||
//export libLinearPrintFunc
|
||||
func libLinearPrintFunc(str *C.char) {
|
||||
// Stubbed
|
||||
}
|
||||
|
||||
func libLinearHookPrintFunc() {
|
||||
// Stubbed
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user