LAPACK  3.9.1
LAPACK: Linear Algebra PACKage

◆ stest()

subroutine stest ( integer  LEN,
double precision, dimension(len)  SCOMP,
double precision, dimension(len)  STRUE,
double precision, dimension(len)  SSIZE,
double precision  SFAC 
)

Definition at line 919 of file dblat1.f.

920 * ********************************* STEST **************************
921 *
922 * THIS SUBR COMPARES ARRAYS SCOMP() AND STRUE() OF LENGTH LEN TO
923 * SEE IF THE TERM BY TERM DIFFERENCES, MULTIPLIED BY SFAC, ARE
924 * NEGLIGIBLE.
925 *
926 * C. L. LAWSON, JPL, 1974 DEC 10
927 *
928 * .. Parameters ..
929  INTEGER NOUT
930  DOUBLE PRECISION ZERO
931  parameter(nout=6, zero=0.0d0)
932 * .. Scalar Arguments ..
933  DOUBLE PRECISION SFAC
934  INTEGER LEN
935 * .. Array Arguments ..
936  DOUBLE PRECISION SCOMP(LEN), SSIZE(LEN), STRUE(LEN)
937 * .. Scalars in Common ..
938  INTEGER ICASE, INCX, INCY, N
939  LOGICAL PASS
940 * .. Local Scalars ..
941  DOUBLE PRECISION SD
942  INTEGER I
943 * .. External Functions ..
944  DOUBLE PRECISION SDIFF
945  EXTERNAL sdiff
946 * .. Intrinsic Functions ..
947  INTRINSIC abs
948 * .. Common blocks ..
949  COMMON /combla/icase, n, incx, incy, pass
950 * .. Executable Statements ..
951 *
952  DO 40 i = 1, len
953  sd = scomp(i) - strue(i)
954  IF (abs(sfac*sd) .LE. abs(ssize(i))*epsilon(zero))
955  + GO TO 40
956 *
957 * HERE SCOMP(I) IS NOT CLOSE TO STRUE(I).
958 *
959  IF ( .NOT. pass) GO TO 20
960 * PRINT FAIL MESSAGE AND HEADER.
961  pass = .false.
962  WRITE (nout,99999)
963  WRITE (nout,99998)
964  20 WRITE (nout,99997) icase, n, incx, incy, i, scomp(i),
965  + strue(i), sd, ssize(i)
966  40 CONTINUE
967  RETURN
968 *
969 99999 FORMAT (' FAIL')
970 99998 FORMAT (/' CASE N INCX INCY I ',
971  + ' COMP(I) TRUE(I) DIFFERENCE',
972  + ' SIZE(I)',/1x)
973 99997 FORMAT (1x,i4,i3,2i5,i3,2d36.8,2d12.4)
real function sdiff(SA, SB)
Definition: cblat1.f:678