Added methods for precision.
Asserted not to accept negative precision values.