![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b CSCAL 00002 * 00003 * =========== DOCUMENTATION =========== 00004 * 00005 * Online html documentation available at 00006 * http://www.netlib.org/lapack/explore-html/ 00007 * 00008 * Definition: 00009 * =========== 00010 * 00011 * SUBROUTINE CSCAL(N,CA,CX,INCX) 00012 * 00013 * .. Scalar Arguments .. 00014 * COMPLEX CA 00015 * INTEGER INCX,N 00016 * .. 00017 * .. Array Arguments .. 00018 * COMPLEX CX(*) 00019 * .. 00020 * 00021 * 00022 *> \par Purpose: 00023 * ============= 00024 *> 00025 *> \verbatim 00026 *> 00027 *> CSCAL scales a vector by a constant. 00028 *> \endverbatim 00029 * 00030 * Authors: 00031 * ======== 00032 * 00033 *> \author Univ. of Tennessee 00034 *> \author Univ. of California Berkeley 00035 *> \author Univ. of Colorado Denver 00036 *> \author NAG Ltd. 00037 * 00038 *> \date November 2011 00039 * 00040 *> \ingroup complex_blas_level1 00041 * 00042 *> \par Further Details: 00043 * ===================== 00044 *> 00045 *> \verbatim 00046 *> 00047 *> jack dongarra, linpack, 3/11/78. 00048 *> modified 3/93 to return if incx .le. 0. 00049 *> modified 12/3/93, array(1) declarations changed to array(*) 00050 *> \endverbatim 00051 *> 00052 * ===================================================================== 00053 SUBROUTINE CSCAL(N,CA,CX,INCX) 00054 * 00055 * -- Reference BLAS level1 routine (version 3.4.0) -- 00056 * -- Reference BLAS is a software package provided by Univ. of Tennessee, -- 00057 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00058 * November 2011 00059 * 00060 * .. Scalar Arguments .. 00061 COMPLEX CA 00062 INTEGER INCX,N 00063 * .. 00064 * .. Array Arguments .. 00065 COMPLEX CX(*) 00066 * .. 00067 * 00068 * ===================================================================== 00069 * 00070 * .. Local Scalars .. 00071 INTEGER I,NINCX 00072 * .. 00073 IF (N.LE.0 .OR. INCX.LE.0) RETURN 00074 IF (INCX.EQ.1) THEN 00075 * 00076 * code for increment equal to 1 00077 * 00078 DO I = 1,N 00079 CX(I) = CA*CX(I) 00080 END DO 00081 ELSE 00082 * 00083 * code for increment not equal to 1 00084 * 00085 NINCX = N*INCX 00086 DO I = 1,NINCX,INCX 00087 CX(I) = CA*CX(I) 00088 END DO 00089 END IF 00090 RETURN 00091 END