This is mostly a long term maintenance improvement.
Many coding styles require elimination of trailing whitespace, and
many editors and source code management configurations automatically
gobble up whitespace. When these tools gobble up whitespace, it
complicates reviewing the meaningful code changes.
By removing whitespace on one patch, it makes future
code reviews much easier.
=SCRIPT====================================================================
if which tempfile &>/dev/null; then
TEMPMAKER=tempfile
elif which mktemp &>/dev/null; then
TEMPMAKER=mktemp
else
echo "Cannot find tempfile program." 2>&1
exit 1
fi
MYTEMP=$($TEMPMAKER)
trap 'rm -f $MYTEMP' SIGINT SIGTERM
stripit() {
echo "stripping $1"
sed 's/[ \t]*$//' "$1" > $MYTEMP
cp $MYTEMP "$1"
}
if [ $# -gt 0 ]; then
while [ "$1" != "" ]; do
stripit $1
shift
done
else
while read -t 2; do
stripit $REPLY
done
fi
rm $MYTEMP
=================================================
102 lines
2.3 KiB
FortranFixed
102 lines
2.3 KiB
FortranFixed
*> \brief \b DROT
|
|
*
|
|
* =========== DOCUMENTATION ===========
|
|
*
|
|
* Online html documentation available at
|
|
* http://www.netlib.org/lapack/explore-html/
|
|
*
|
|
* Definition:
|
|
* ===========
|
|
*
|
|
* SUBROUTINE DROT(N,DX,INCX,DY,INCY,C,S)
|
|
*
|
|
* .. Scalar Arguments ..
|
|
* DOUBLE PRECISION C,S
|
|
* INTEGER INCX,INCY,N
|
|
* ..
|
|
* .. Array Arguments ..
|
|
* DOUBLE PRECISION DX(*),DY(*)
|
|
* ..
|
|
*
|
|
*
|
|
*> \par Purpose:
|
|
* =============
|
|
*>
|
|
*> \verbatim
|
|
*>
|
|
*> DROT applies a plane rotation.
|
|
*> \endverbatim
|
|
*
|
|
* Authors:
|
|
* ========
|
|
*
|
|
*> \author Univ. of Tennessee
|
|
*> \author Univ. of California Berkeley
|
|
*> \author Univ. of Colorado Denver
|
|
*> \author NAG Ltd.
|
|
*
|
|
*> \date November 2011
|
|
*
|
|
*> \ingroup double_blas_level1
|
|
*
|
|
*> \par Further Details:
|
|
* =====================
|
|
*>
|
|
*> \verbatim
|
|
*>
|
|
*> jack dongarra, linpack, 3/11/78.
|
|
*> modified 12/3/93, array(1) declarations changed to array(*)
|
|
*> \endverbatim
|
|
*>
|
|
* =====================================================================
|
|
SUBROUTINE DROT(N,DX,INCX,DY,INCY,C,S)
|
|
*
|
|
* -- Reference BLAS level1 routine (version 3.4.0) --
|
|
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
|
|
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
|
|
* November 2011
|
|
*
|
|
* .. Scalar Arguments ..
|
|
DOUBLE PRECISION C,S
|
|
INTEGER INCX,INCY,N
|
|
* ..
|
|
* .. Array Arguments ..
|
|
DOUBLE PRECISION DX(*),DY(*)
|
|
* ..
|
|
*
|
|
* =====================================================================
|
|
*
|
|
* .. Local Scalars ..
|
|
DOUBLE PRECISION DTEMP
|
|
INTEGER I,IX,IY
|
|
* ..
|
|
IF (N.LE.0) RETURN
|
|
IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
|
|
*
|
|
* code for both increments equal to 1
|
|
*
|
|
DO I = 1,N
|
|
DTEMP = C*DX(I) + S*DY(I)
|
|
DY(I) = C*DY(I) - S*DX(I)
|
|
DX(I) = DTEMP
|
|
END DO
|
|
ELSE
|
|
*
|
|
* code for unequal increments or equal increments not equal
|
|
* to 1
|
|
*
|
|
IX = 1
|
|
IY = 1
|
|
IF (INCX.LT.0) IX = (-N+1)*INCX + 1
|
|
IF (INCY.LT.0) IY = (-N+1)*INCY + 1
|
|
DO I = 1,N
|
|
DTEMP = C*DX(IX) + S*DY(IY)
|
|
DY(IY) = C*DY(IY) - S*DX(IX)
|
|
DX(IX) = DTEMP
|
|
IX = IX + INCX
|
|
IY = IY + INCY
|
|
END DO
|
|
END IF
|
|
RETURN
|
|
END
|