Revert "Revert "relative indicator""

This reverts commit 1f61fd7ed1d66fcce9f621fc7f79d2cce736bf1e.
registered golang function can take slice parameter
add core golang package
implement set_relative_indicators using cgo, large performance gained