00001 SUBROUTINE ZERRAC( NUNIT )
00002 IMPLICIT NONE
00003
00004
00005
00006
00007
00008
00009 INTEGER NUNIT
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 INTEGER NMAX
00027 PARAMETER ( NMAX = 4 )
00028
00029
00030 INTEGER I, INFO, ITER, J
00031
00032
00033 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00034 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
00035 $ W( 2*NMAX ), X( NMAX )
00036 DOUBLE PRECISION RWORK( NMAX )
00037 COMPLEX*16 WORK(NMAX*NMAX)
00038 COMPLEX SWORK(NMAX*NMAX)
00039
00040
00041 EXTERNAL CHKXER, ZCPOSV
00042
00043
00044 LOGICAL LERR, OK
00045 CHARACTER*32 SRNAMT
00046 INTEGER INFOT, NOUT
00047
00048
00049 COMMON / INFOC / INFOT, NOUT, OK, LERR
00050 COMMON / SRNAMC / SRNAMT
00051
00052
00053 INTRINSIC DBLE
00054
00055
00056
00057 NOUT = NUNIT
00058 WRITE( NOUT, FMT = * )
00059
00060
00061
00062 DO 20 J = 1, NMAX
00063 DO 10 I = 1, NMAX
00064 A( I, J ) = 1.D0 / DBLE( I+J )
00065 AF( I, J ) = 1.D0 / DBLE( I+J )
00066 10 CONTINUE
00067 B( J ) = 0.D0
00068 R1( J ) = 0.D0
00069 R2( J ) = 0.D0
00070 W( J ) = 0.D0
00071 X( J ) = 0.D0
00072 C( J ) = 0.D0
00073 R( J ) = 0.D0
00074 20 CONTINUE
00075 OK = .TRUE.
00076
00077 SRNAMT = 'ZCPOSV'
00078 INFOT = 1
00079 CALL ZCPOSV('/',0,0,A,1,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
00080 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00081 INFOT = 2
00082 CALL ZCPOSV('U',-1,0,A,1,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
00083 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00084 INFOT = 3
00085 CALL ZCPOSV('U',0,-1,A,1,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
00086 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00087 INFOT = 5
00088 CALL ZCPOSV('U',2,1,A,1,B,2,X,2,WORK,SWORK,RWORK,ITER,INFO)
00089 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00090 INFOT = 7
00091 CALL ZCPOSV('U',2,1,A,2,B,1,X,2,WORK,SWORK,RWORK,ITER,INFO)
00092 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00093 INFOT = 9
00094 CALL ZCPOSV('U',2,1,A,2,B,2,X,1,WORK,SWORK,RWORK,ITER,INFO)
00095 CALL CHKXER( 'ZCPOSV', INFOT, NOUT, LERR, OK )
00096
00097
00098
00099 IF( OK ) THEN
00100 WRITE( NOUT, FMT = 9999 )'ZCPOSV'
00101 ELSE
00102 WRITE( NOUT, FMT = 9998 )'ZCPOSV'
00103 END IF
00104
00105 9999 FORMAT( 1X, A6, ' drivers passed the tests of the error exits' )
00106 9998 FORMAT( ' *** ', A6, ' drivers failed the tests of the error ',
00107 $ 'exits ***' )
00108
00109 RETURN
00110
00111
00112
00113 END