c_cblat1.f

来自「基于Blas CLapck的.用过的人知道是干啥的」· F 代码 · 共 707 行 · 第 1/3 页

F
707
字号
*              .. SCASUMTEST ..               CALL STEST1(SCASUMTEST(N,CX,INCX),STRUE4(NP1),     +                     STRUE4(NP1),SFAC)            ELSE IF (ICASE.EQ.8) THEN*              .. CSCAL ..               CALL CSCALtest(N,CA,CX,INCX)               CALL CTEST(LEN,CX,CTRUE5(1,NP1,INCX),CTRUE5(1,NP1,INCX),     +                    SFAC)            ELSE IF (ICASE.EQ.9) THEN*              .. CSSCALTEST ..               CALL CSSCALTEST(N,SA,CX,INCX)               CALL CTEST(LEN,CX,CTRUE6(1,NP1,INCX),CTRUE6(1,NP1,INCX),     +                    SFAC)            ELSE IF (ICASE.EQ.10) THEN*              .. ICAMAXTEST ..               CALL ITEST1(ICAMAXTEST(N,CX,INCX),ITRUE3(NP1))            ELSE               WRITE (NOUT,*) ' Shouldn''t be here in CHECK1'               STOP            END IF*   40    CONTINUE   60 CONTINUE*      INCX = 1      IF (ICASE.EQ.8) THEN*        CSCAL*        Add a test for alpha equal to zero.         CA = (0.0E0,0.0E0)         DO 80 I = 1, 5            MWPCT(I) = (0.0E0,0.0E0)            MWPCS(I) = (1.0E0,1.0E0)   80    CONTINUE         CALL CSCALtest(5,CA,CX,INCX)         CALL CTEST(5,CX,MWPCT,MWPCS,SFAC)      ELSE IF (ICASE.EQ.9) THEN*        CSSCALTEST*        Add a test for alpha equal to zero.         SA = 0.0E0         DO 100 I = 1, 5            MWPCT(I) = (0.0E0,0.0E0)            MWPCS(I) = (1.0E0,1.0E0)  100    CONTINUE         CALL CSSCALTEST(5,SA,CX,INCX)         CALL CTEST(5,CX,MWPCT,MWPCS,SFAC)*        Add a test for alpha equal to one.         SA = 1.0E0         DO 120 I = 1, 5            MWPCT(I) = CX(I)            MWPCS(I) = CX(I)  120    CONTINUE         CALL CSSCALTEST(5,SA,CX,INCX)         CALL CTEST(5,CX,MWPCT,MWPCS,SFAC)*        Add a test for alpha equal to minus one.         SA = -1.0E0         DO 140 I = 1, 5            MWPCT(I) = -CX(I)            MWPCS(I) = -CX(I)  140    CONTINUE         CALL CSSCALTEST(5,SA,CX,INCX)         CALL CTEST(5,CX,MWPCT,MWPCS,SFAC)      END IF      RETURN      END      SUBROUTINE CHECK2(SFAC)*     .. Parameters ..      INTEGER           NOUT      PARAMETER         (NOUT=6)*     .. Scalar Arguments ..      REAL              SFAC*     .. Scalars in Common ..      INTEGER           ICASE, INCX, INCY, MODE, N      LOGICAL           PASS*     .. Local Scalars ..      COMPLEX           CA,CTEMP      INTEGER           I, J, KI, KN, KSIZE, LENX, LENY, MX, MY*     .. Local Arrays ..      COMPLEX           CDOT(1), CSIZE1(4), CSIZE2(7,2), CSIZE3(14),     +                  CT10X(7,4,4), CT10Y(7,4,4), CT6(4,4), CT7(4,4),     +                  CT8(7,4,4), CX(7), CX1(7), CY(7), CY1(7)      INTEGER           INCXS(4), INCYS(4), LENS(4,2), NS(4)*     .. External Functions ..      EXTERNAL          CDOTCTEST, CDOTUTEST*     .. External Subroutines ..      EXTERNAL          CAXPYTEST, CCOPYTEST, CSWAPTEST, CTEST*     .. Intrinsic Functions ..      INTRINSIC         ABS, MIN*     .. Common blocks ..      COMMON            /COMBLA/ICASE, N, INCX, INCY, MODE, PASS*     .. Data statements ..      DATA              CA/(0.4E0,-0.7E0)/      DATA              INCXS/1, 2, -2, -1/      DATA              INCYS/1, -2, 1, -2/      DATA              LENS/1, 1, 2, 4, 1, 1, 3, 7/      DATA              NS/0, 1, 2, 4/      DATA              CX1/(0.7E0,-0.8E0), (-0.4E0,-0.7E0),     +                  (-0.1E0,-0.9E0), (0.2E0,-0.8E0),     +                  (-0.9E0,-0.4E0), (0.1E0,0.4E0), (-0.6E0,0.6E0)/      DATA              CY1/(0.6E0,-0.6E0), (-0.9E0,0.5E0),     +                  (0.7E0,-0.6E0), (0.1E0,-0.5E0), (-0.1E0,-0.2E0),     +                  (-0.5E0,-0.3E0), (0.8E0,-0.7E0)/      DATA              ((CT8(I,J,1),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.32E0,-1.41E0),     +                  (-1.55E0,0.5E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.32E0,-1.41E0), (-1.55E0,0.5E0),     +                  (0.03E0,-0.89E0), (-0.38E0,-0.96E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/      DATA              ((CT8(I,J,2),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (-0.07E0,-0.89E0),     +                  (-0.9E0,0.5E0), (0.42E0,-1.41E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.78E0,0.06E0), (-0.9E0,0.5E0),     +                  (0.06E0,-0.13E0), (0.1E0,-0.5E0),     +                  (-0.77E0,-0.49E0), (-0.5E0,-0.3E0),     +                  (0.52E0,-1.51E0)/      DATA              ((CT8(I,J,3),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (-0.07E0,-0.89E0),     +                  (-1.18E0,-0.31E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.78E0,0.06E0), (-1.54E0,0.97E0),     +                  (0.03E0,-0.89E0), (-0.18E0,-1.31E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/      DATA              ((CT8(I,J,4),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.32E0,-1.41E0), (-0.9E0,0.5E0),     +                  (0.05E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.32E0,-1.41E0),     +                  (-0.9E0,0.5E0), (0.05E0,-0.6E0), (0.1E0,-0.5E0),     +                  (-0.77E0,-0.49E0), (-0.5E0,-0.3E0),     +                  (0.32E0,-1.16E0)/      DATA              CT7/(0.0E0,0.0E0), (-0.06E0,-0.90E0),     +                  (0.65E0,-0.47E0), (-0.34E0,-1.22E0),     +                  (0.0E0,0.0E0), (-0.06E0,-0.90E0),     +                  (-0.59E0,-1.46E0), (-1.04E0,-0.04E0),     +                  (0.0E0,0.0E0), (-0.06E0,-0.90E0),     +                  (-0.83E0,0.59E0), (0.07E0,-0.37E0),     +                  (0.0E0,0.0E0), (-0.06E0,-0.90E0),     +                  (-0.76E0,-1.15E0), (-1.33E0,-1.82E0)/      DATA              CT6/(0.0E0,0.0E0), (0.90E0,0.06E0),     +                  (0.91E0,-0.77E0), (1.80E0,-0.10E0),     +                  (0.0E0,0.0E0), (0.90E0,0.06E0), (1.45E0,0.74E0),     +                  (0.20E0,0.90E0), (0.0E0,0.0E0), (0.90E0,0.06E0),     +                  (-0.55E0,0.23E0), (0.83E0,-0.39E0),     +                  (0.0E0,0.0E0), (0.90E0,0.06E0), (1.04E0,0.79E0),     +                  (1.95E0,1.22E0)/      DATA              ((CT10X(I,J,1),I=1,7),J=1,4)/(0.7E0,-0.8E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.6E0,-0.6E0), (-0.9E0,0.5E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.6E0,-0.6E0),     +                  (-0.9E0,0.5E0), (0.7E0,-0.6E0), (0.1E0,-0.5E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/      DATA              ((CT10X(I,J,2),I=1,7),J=1,4)/(0.7E0,-0.8E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.7E0,-0.6E0), (-0.4E0,-0.7E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.8E0,-0.7E0),     +                  (-0.4E0,-0.7E0), (-0.1E0,-0.2E0),     +                  (0.2E0,-0.8E0), (0.7E0,-0.6E0), (0.1E0,0.4E0),     +                  (0.6E0,-0.6E0)/      DATA              ((CT10X(I,J,3),I=1,7),J=1,4)/(0.7E0,-0.8E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (-0.9E0,0.5E0), (-0.4E0,-0.7E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.1E0,-0.5E0),     +                  (-0.4E0,-0.7E0), (0.7E0,-0.6E0), (0.2E0,-0.8E0),     +                  (-0.9E0,0.5E0), (0.1E0,0.4E0), (0.6E0,-0.6E0)/      DATA              ((CT10X(I,J,4),I=1,7),J=1,4)/(0.7E0,-0.8E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.6E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.6E0,-0.6E0), (0.7E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.6E0,-0.6E0),     +                  (0.7E0,-0.6E0), (-0.1E0,-0.2E0), (0.8E0,-0.7E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/      DATA              ((CT10Y(I,J,1),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.7E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.7E0,-0.8E0), (-0.4E0,-0.7E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.7E0,-0.8E0),     +                  (-0.4E0,-0.7E0), (-0.1E0,-0.9E0),     +                  (0.2E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0)/      DATA              ((CT10Y(I,J,2),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.7E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (-0.1E0,-0.9E0), (-0.9E0,0.5E0),     +                  (0.7E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (-0.6E0,0.6E0),     +                  (-0.9E0,0.5E0), (-0.9E0,-0.4E0), (0.1E0,-0.5E0),     +                  (-0.1E0,-0.9E0), (-0.5E0,-0.3E0),     +                  (0.7E0,-0.8E0)/      DATA              ((CT10Y(I,J,3),I=1,7),J=1,4)/(0.6E0,-0.6E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.7E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (-0.1E0,-0.9E0), (0.7E0,-0.8E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0), (0.0E0,0.0E0), (-0.6E0,0.6E0),     +                  (-0.9E0,-0.4E0), (-0.1E0,-0.9E0),     +                  (0.7E0,-0.8E0), (0.0E0,0.0E0), (0.0E0,0.0E0),     +                  (0.0E0,0.0E0)/      DATA              ((CT10Y(I,J,4),I=1,7),J=1,4)/(0.6E0,-0.6E0),

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?