AccuMath is an extended precision arithmetic utility package designed for programmers requiring more precision and significance than is available with BASIC. The package is implemented as a set of Assembler and BASIC subroutines that are callable from a BASIC program. The subroutines perform all of the standard arithmetic functions normally available, with almost unlimited significance and precision.
AccuMath operates on strings of decimal digits using decimal arithmetic, producing exact results for most operations, hence the designation "string arithmetic". This is in contrast to floating point arithmetic, which has a limited number of significant digits in which to represent a value, yielding inexact results.
AccuMath provides Assembler subroutines which perform the basic arithmetic operations: add, subtract, multiply and divide, as well as compare and adjust precision. These subroutines may be called by a BASIC program by using the OCONV() function.
AccuMath provides a set of BASIC subroutines which implement all the standard arithmetic operations and functions available in BASIC: add, subtract, multiply, divide, compare, precision, SIN, COS, TAN, EXP, PWR, LN and SQRT. The BASIC subroutines call the Assembler routines (possibly many times) to perform the primary arithmetic operations.
AccuMath also supports string arithmetic functions. These functions are compatible with Ultimate's string arithmetic functions. These functions are implemented using a pre-compiler, which translates the string function notation into the appropriate OCONV() notation transparently.