May 26, 2018
Extra Precise Basic Linear Algebra Subroutines (BLAS)
This library of routines is part of a reference implementation for the Dense and Banded BLAS routines, along with their Extended and Mixed Precision versions, as documented in Chapters 2 and 4 of the new BLAS Standard.
EXTENDED PRECISION is only used internally; the input and output arguments remain the same as in the existing BLAS. At present, we only allow Single, Double, or Extra internal precision. Extra precision is implemented as double-double precision 128-bit total, 106-bit significand. The routines for the double-double precision basic arithmetic operations +, -, *, / were developed by David Bailey.
We have designed all our routines assuming that single precision arithmetic is actually done in IEEE single precision 32 bits and that double precision arithmetic is actually done in IEEE double precision 64 bits. The routines also pass our tests on an Intel machine with 80-bit floating point registers.
MIXED PRECISION permits some input/output arguments to be of different types mixing real and complex or precisions mixing single and double.