* F16EHF Example Program Text * Mark 22 Release. NAG Copyright 2007. * .. Parameters .. INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) INTEGER NMAX, INCMAX PARAMETER (NMAX=10,INCMAX=NMAX) * .. Local Scalars .. DOUBLE PRECISION ALPHA, BETA INTEGER I, INCW, INCX, INCY, N * .. Local Arrays .. DOUBLE PRECISION W(1+(NMAX-1)*ABS(INCMAX)), + X(1+(NMAX-1)*ABS(INCMAX)), + Y(1+(NMAX-1)*ABS(INCMAX)) * .. External Subroutines .. EXTERNAL BLAS_DWAXPBY * .. Intrinsic Functions .. INTRINSIC ABS * .. Executable Statements .. CONTINUE * WRITE (NOUT,*) 'F16EHF/BLAS_DWAXPBY Example Program Results' * * Skip heading in data file * READ (NIN,*) * * Read N from data file * READ (NIN,*) N * * Read INCX, INCY and INCW from data file * READ (NIN,*) INCX, INCY, INCW * IF (N.LE.NMAX .AND. ABS(INCX).LE.INCMAX .AND. ABS(INCY) + .LE.INCMAX .AND. ABS(INCW).LE.INCMAX) THEN * * Read ALPHA and BETA from data file * READ (NIN,*) ALPHA, BETA * * Read X and Y from data file * READ (NIN,*) (X(I),I=1,1+(N-1)*ABS(INCX),INCX) READ (NIN,*) (Y(I),I=1,1+(N-1)*ABS(INCY),INCY) * * Compute W = ALPHA*X + BETA*Y * CALL BLAS_DWAXPBY(N,ALPHA,X,INCX,BETA,Y,INCY,W,INCW) * WRITE (NOUT,*) WRITE (NOUT,99999) WRITE (NOUT,99998) (W(I),I=1,N) END IF * 99999 FORMAT (1X,'Result of scaled vector addition is') 99998 FORMAT (1X,'W =',5F9.4) END