# Accumath

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.

---
Source: https://d3codex.com/accumath/accumath/ - part of the D3Codex reference.
