Annotation of rpl/lapack/lapack/dla_wwaddw.f, revision 1.5
1.5 ! bertrand 1: *> \brief \b DLA_WWADDW
! 2: *
! 3: * =========== DOCUMENTATION ===========
! 4: *
! 5: * Online html documentation available at
! 6: * http://www.netlib.org/lapack/explore-html/
! 7: *
! 8: *> \htmlonly
! 9: *> Download DLA_WWADDW + dependencies
! 10: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dla_wwaddw.f">
! 11: *> [TGZ]</a>
! 12: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dla_wwaddw.f">
! 13: *> [ZIP]</a>
! 14: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dla_wwaddw.f">
! 15: *> [TXT]</a>
! 16: *> \endhtmlonly
! 17: *
! 18: * Definition:
! 19: * ===========
! 20: *
! 21: * SUBROUTINE DLA_WWADDW( N, X, Y, W )
! 22: *
! 23: * .. Scalar Arguments ..
! 24: * INTEGER N
! 25: * ..
! 26: * .. Array Arguments ..
! 27: * DOUBLE PRECISION X( * ), Y( * ), W( * )
! 28: * ..
! 29: *
! 30: *
! 31: *> \par Purpose:
! 32: * =============
! 33: *>
! 34: *> \verbatim
! 35: *>
! 36: *> DLA_WWADDW adds a vector W into a doubled-single vector (X, Y).
! 37: *>
! 38: *> This works for all extant IBM's hex and binary floating point
! 39: *> arithmetics, but not for decimal.
! 40: *> \endverbatim
! 41: *
! 42: * Arguments:
! 43: * ==========
! 44: *
! 45: *> \param[in] N
! 46: *> \verbatim
! 47: *> N is INTEGER
! 48: *> The length of vectors X, Y, and W.
! 49: *> \endverbatim
! 50: *>
! 51: *> \param[in,out] X
! 52: *> \verbatim
! 53: *> X is DOUBLE PRECISION array, dimension (N)
! 54: *> The first part of the doubled-single accumulation vector.
! 55: *> \endverbatim
! 56: *>
! 57: *> \param[in,out] Y
! 58: *> \verbatim
! 59: *> Y is DOUBLE PRECISION array, dimension (N)
! 60: *> The second part of the doubled-single accumulation vector.
! 61: *> \endverbatim
! 62: *>
! 63: *> \param[in] W
! 64: *> \verbatim
! 65: *> W is DOUBLE PRECISION array, dimension (N)
! 66: *> The vector to be added.
! 67: *> \endverbatim
! 68: *
! 69: * Authors:
! 70: * ========
! 71: *
! 72: *> \author Univ. of Tennessee
! 73: *> \author Univ. of California Berkeley
! 74: *> \author Univ. of Colorado Denver
! 75: *> \author NAG Ltd.
! 76: *
! 77: *> \date November 2011
! 78: *
! 79: *> \ingroup doubleOTHERcomputational
! 80: *
! 81: * =====================================================================
1.1 bertrand 82: SUBROUTINE DLA_WWADDW( N, X, Y, W )
83: *
1.5 ! bertrand 84: * -- LAPACK computational routine (version 3.4.0) --
! 85: * -- LAPACK is a software package provided by Univ. of Tennessee, --
! 86: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! 87: * November 2011
1.1 bertrand 88: *
89: * .. Scalar Arguments ..
90: INTEGER N
91: * ..
92: * .. Array Arguments ..
93: DOUBLE PRECISION X( * ), Y( * ), W( * )
94: * ..
95: *
96: * =====================================================================
97: *
98: * .. Local Scalars ..
99: DOUBLE PRECISION S
100: INTEGER I
101: * ..
102: * .. Executable Statements ..
103: *
104: DO 10 I = 1, N
105: S = X(I) + W(I)
106: S = (S + S) - S
107: Y(I) = ((X(I) - S) + W(I)) + Y(I)
108: X(I) = S
109: 10 CONTINUE
110: RETURN
111: END
CVSweb interface <joel.bertrand@systella.fr>