diff options
author | jason <jason@8a072113-8704-0410-8d35-dd094bca7971> | 2008-10-28 01:38:50 +0000 |
---|---|---|
committer | jason <jason@8a072113-8704-0410-8d35-dd094bca7971> | 2008-10-28 01:38:50 +0000 |
commit | baba851215b44ac3b60b9248eb02bcce7eb76247 (patch) | |
tree | 8c0f5c006875532a30d4409f5e94b0f310ff00a7 /SRC/zlag2c.f | |
download | lapack-baba851215b44ac3b60b9248eb02bcce7eb76247.tar.gz lapack-baba851215b44ac3b60b9248eb02bcce7eb76247.tar.bz2 lapack-baba851215b44ac3b60b9248eb02bcce7eb76247.zip |
Move LAPACK trunk into position.
Diffstat (limited to 'SRC/zlag2c.f')
-rw-r--r-- | SRC/zlag2c.f | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/SRC/zlag2c.f b/SRC/zlag2c.f new file mode 100644 index 00000000..d47ca5ba --- /dev/null +++ b/SRC/zlag2c.f @@ -0,0 +1,93 @@ + SUBROUTINE ZLAG2C( M, N, A, LDA, SA, LDSA, INFO) +* +* -- LAPACK PROTOTYPE auxilary routine (version 3.1.1) -- +* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. +* January 2007 +* +* .. +* .. WARNING: PROTOTYPE .. +* This is an LAPACK PROTOTYPE routine which means that the +* interface of this routine is likely to be changed in the future +* based on community feedback. +* +* .. +* .. Scalar Arguments .. + INTEGER INFO,LDA,LDSA,M,N +* .. +* .. Array Arguments .. + COMPLEX SA(LDSA,*) + COMPLEX*16 A(LDA,*) +* .. +* +* Purpose +* ======= +* +* ZLAG2C converts a DOUBLE PRECISION COMPLEX matrix, SA, to a SINGLE +* PRECISION COMPLEX matrix, A. +* +* RMAX is the overflow for the SINGLE PRECISION arithmetic +* ZLAG2C checks that all the entries of A are between -RMAX and +* RMAX. If not the convertion is aborted and a flag is raised. +* +* This is a helper routine so there is no argument checking. +* +* Arguments +* ========= +* +* M (input) INTEGER +* The number of lines of the matrix A. M >= 0. +* +* N (input) INTEGER +* The number of columns of the matrix A. N >= 0. +* +* A (input) DOUBLE PRECISION array, dimension (LDA,N) +* On entry, the M-by-N coefficient matrix A. +* +* LDA (input) INTEGER +* The leading dimension of the array A. LDA >= max(1,M). +* +* SA (output) REAL array, dimension (LDSA,N) +* On exit, if INFO=0, the M-by-N coefficient matrix SA. +* +* LDSA (input) INTEGER +* The leading dimension of the array SA. LDSA >= max(1,M). +* +* INFO (output) INTEGER +* = 0: successful exit +* > 0: if INFO = k, the (i,j) entry of the matrix A has +* overflowed when moving from DOUBLE PRECISION to SINGLE +* k is given by k = (i-1)*LDA+j +* +* ========= +* +* .. Local Scalars .. + INTEGER I,J + DOUBLE PRECISION RMAX +* .. +* .. Intrinsic Functions .. + INTRINSIC DBLE, DIMAG +* .. +* .. External Functions .. + REAL SLAMCH + EXTERNAL SLAMCH +* .. +* .. Executable Statements .. +* + RMAX = SLAMCH('O') + DO 20 J = 1,N + DO 30 I = 1,M + IF ((DBLE(A(I,J)).LT.-RMAX) .OR. (DBLE(A(I,J)).GT.RMAX) + $ .OR. (DIMAG(A(I,J)).LT.-RMAX) .OR. (DIMAG(A(I,J)).GT.RMAX)) + $ THEN + INFO = (I-1)*LDA + J + GO TO 10 + END IF + SA(I,J) = A(I,J) + 30 CONTINUE + 20 CONTINUE + 10 CONTINUE + RETURN +* +* End of ZLAG2C +* + END |