I'm reasonably confident that the encoding matches the output of ethutil.Encode for values that it supports. Some of the tests have been adpated from the Ethereum testing repository. There are still TODOs in the code.
There is no agreement on how to encode negative integers across implementations. cpp-ethereum doesn't support them either.