MPADD2(3)

SYNOPSIS
SUBROUTINE MPADD2 (X, Y, Z, Y1, TRUNC)

NAME
mpadd2 - Subsidiary to DQDOTA and DQDOTI

LIBRARY
SLATEC

TYPE
ALL (MPADD2-A)

AUTHOR
(UNKNOWN)

DESCRIPTION
Called by MPADD, MPSUB etc. X, Y and Z are MP numbers, Y1 and TRUNC are integers. To force call by reference rather than value/result, Y1 is declared as an array, but only Y1(1) is ever used. Sets Z = X + Y1(1)*ABS(Y), where Y1(1) = +- Y(1). If TRUNC .EQ. 0, R*-rounding is used; otherwise, truncation. R*-rounding is defined in the Kuki and Cody reference. The arguments X(*), Y(*), and Z(*) are all INTEGER arrays of size 30. See the comments in the routine MPBLAS for the reason for this choice.

SEE ALSO
DQDOTA, DQDOTI, MPBLAS

REFERENCES
H. Kuki and W. J. Cody, A statistical study of floating point number systems, Communications of the ACM 16, 4 (April 1973), pp. 223-230. R. P. Brent, On the precision attainable with various floating-point number systems, IEEE Transactions on Computers C-22, 6 (June 1973), pp. 601-607. R. P. Brent, A Fortran multiple-precision arithmetic package, ACM Transactions on Mathematical Software 4, 1 (March 1978), pp. 57-70. R. P. Brent, MP, a Fortran multiple-precision arithmetic package, Algorithm 524, ACM Transactions on Mathema- tical Software 4, 1 (March 1978), pp. 71-81.

ROUTINES CALLED
MPADD3, MPCHK, MPERR, MPNZR, MPSTR

COMMON BLOCKS
MPCOM

REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN ?????? Modified for use with BLAS. Blank COMMON changed to named COMMON. R given dimension 12.
890531 Changed all specific intrinsics to generic. (WRB)
891214 Prologue converted to Version 4.0 format. (BAB)
900402 Added TYPE section. (WRB)
920528 Added a REFERENCES section revised. (WRB)
930124 Increased Array size in MPCON for SUN -r8. (RWC)