dqdoti.f
DOUBLE PRECISION FUNCTION DQDOTI (N, DB, QC, DX, INCX, DY, INCY)
C***BEGIN PROLOGUE DQDOTI
C***PURPOSE Compute the inner product of two vectors with extended
C precision accumulation and result.
C***LIBRARY SLATEC
C***CATEGORY D1A4
C***TYPE DOUBLE PRECISION (DQDOTI-D)
C***KEYWORDS DOT PRODUCT, INNER PRODUCT
C***AUTHOR Lawson, C. L., (JPL)
C Hanson, R. J., (SNLA)
C Kincaid, D. R., (U. of Texas)
C Krogh, F. T., (JPL)
C***DESCRIPTION
C
C B L A S Subprogram
C Description of parameters
C
C --Input--
C N number of elements in input vector(s)
C DB double precision scalar to be added to inner product
C QC extended precision scalar to be added
C DX double precision vector with N elements
C INCX storage spacing between elements of DX
C DY double precision vector with N elements
C INCY storage spacing between elements of DY
C
C --Output--
C DQDOTI double precision result
C QC extended precision result
C
C D.P. dot product with extended precision accumulation (and result)
C QC and DQDOTI are set = DB + sum for I = 0 to N-1 of
C DX(LX+I*INCX) * DY(LY+I*INCY), where QC is an extended
C precision result which can be used as input to DQDOTA,
C and LX = 1 if INCX .GE. 0, else LX = (-INCX)*N, and LY is
C defined in a similar way using INCY. The MP package by
C Richard P. Brent is used for the extended precision arithmetic.
C
C Fred T. Krogh, JPL, 1977, June 1
C
C The common block for the MP package is named MPCOM. If local
C variable I1 is zero, DQDOTI calls MPBLAS to initialize the MP
C package and reset I1 to 1.
C
C The argument QC(*), and the local variables QX and QY are INTEGER
C arrays of size 30. See the comments in the routine MPBLAS for the
C reason for this choice.
C
C***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
C Krogh, Basic linear algebra subprograms for Fortran
C usage, Algorithm No. 539, Transactions on Mathematical
C Software 5, 3 (September 1979), pp. 308-323.
C***ROUTINES CALLED MPADD, MPBLAS, MPCDM, MPCMD, MPMUL
C***COMMON BLOCKS MPCOM
C***REVISION HISTORY (YYMMDD)
C 791001 DATE WRITTEN
C 890831 Modified array declarations. (WRB)
C 890831 REVISION DATE from Version 3.2
C 891214 Prologue converted to Version 4.0 format. (BAB)
C 920501 Reformatted the REFERENCES section. (WRB)
C 930124 Increased Array sizes for SUN -r8. (RWC)
C***END PROLOGUE DQDOTI