Follow Coding Standards (CS):
* All constants must be prefixed with the package name.
* Space after commas in function calls
* Space after semicolon in for()
* Space before and after all operators (*, +, -, /, etc)
* Follow all other CS rules
Comments about a function should be in the docblock, not in // before the docblock.
All parameters in docblocks need a description.
All return values need an english description (see divide()).
No need to check class in every function. (Just don't check at all.)
Class/package name should be Math_BigInteger.
Native bc functions should be used if present (if possible).
Private functions need full docblocks too.