go-lbfgsb icon indicating copy to clipboard operation
go-lbfgsb copied to clipboard

Fixing afbarnard/go-lbfgsb#4

Open idavydov opened this issue 7 years ago • 0 comments

Hi, I have created a pull request fixing #4. I testes it in go v1.7.1.

Since Go v1.6 Go code may pass a Go pointer to C provided that the Go memory to which it points does not contain any Go pointers. I create a synchronized map which stores all the go-objects we need to be able to retrive. registerCallback is used to register a new object and return its' index, lookupCallback returns the object by its' index, unregisterCallback unregisters an object from the map (callbackFunctions). Now instead of passing pointers to struct with a pointer, we pass a pointer to int which identifies the apropriate structure. Type assertion is used to convert interface{} to an actual object. We do this in order to have unified code for passing objective function callbacks and log function callbacks.

idavydov avatar Oct 14 '16 12:10 idavydov