C C .................................................................. C C SAMPLE MAIN PROGRAM FOR THE KOLMOGOROV-SMIRNOV TEST-KOLM C C PURPOSE C (1) READ THE CONTROL CARD FOR A ONE OR TWO SAMPLE TEST C (2) READ THE SAMPLE DATA AND DETERMINE THE SAMPLE SIZES C (3) PRINT RESULTS C C REMARKS C THE USER SHOULD NOTE THE REMARKS GIVEN IN SUBROUTINES C KOLMO, KOLM2, AND SMIRN, AND THE MATHEMATICAL DESCRIPTIONS C FOR THESE SUBROUTINES. C C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED C KOLMO C KOLM2 C SMIRN C NDTR C C METHOD C REFER TO SUBROUTINES KOLMO, KOLM2, AND SMIRN C C .................................................................. C C THE FOLLOWING DIMENSIONS MUST BE GREATER THAN THE NUMBER OF DATA C ELEMENTS IN THE TWO SAMPLES, M AND N C DIMENSION X(501),Y(501) C C .................................................................. C DIMENSION TITLE(5),D(12),TIT1(20),DIST(5,3) C C .................................................................. C 1 FORMAT(5A4,3I1,5(F1.0,2F5.0)) 2 FORMAT(//'CC.21, CONTROL CARD, INCORRECT, OR SAMPLE SIZE IS TOO LA 1RGE. JOB IGNORED.') 3 FORMAT(12F6.0) 4 FORMAT(1H1,5A4) 5 FORMAT(//2H A,I2,' SAMPLE TEST WAS REQUESTED') 6 FORMAT(20A4) 7 FORMAT(//(10F10.3)) 8 FORMAT(//' SORTED SAMPLE ONE FOLLOWS') 9 FORMAT(//' THE HYPOTHESIS THAT THE SAMPLE IS FROM A(N) ',4A4, ' D 1ISTRIBUTION') 10 FORMAT(//' SORTED SAMPLE TWO FOLLOWS') 11 FORMAT(//' THE HYPOTHESIS THAT THE TWO SAMPLES ARE FROM THE SAME P 1OPULATION CAN BE REJECTED WITH (ASYMPTOTIC)',/,' PROBABILITY OF BE 2ING INCORRECT OF ',F6.3,'. THE STATISTIC Z IS ',E12.4,' FOR THESE 3 SAMPLES.') 12 FORMAT(//,' THE SIZE OF SAMPLE',I3,' IS',I4,'.') 13 FORMAT(//,' NOTE THE REMARKS CONCERNING ASYMPTOTIC RESULTS AND SAM 1PLE SIZE IN SUBROUTINE SMIRN') 14 FORMAT(//,' AT LEAST ONE (S) ENTRY PARAMETER FOR THE SUBROUTINE KO 1LMO WAS INCORRECT.'/' THE TEST FOR THE ASSOCIATED CONTINUOUS PDF W 2AS IGNORED.') 15 FORMAT(A4) 16 FORMAT(//,' THIS JOB CALLS FOR THE USE OF A PREVIOUSLY READ SAMPLE 1, AND THE PREVIOUS JOB WAS IGNORED BECAUSE OF ERRORS.'/ ' JOB IGNO 2RED.') 17 FORMAT(//,' FIRST CARD IN JOB DECK (JOB CONTROL CARD) IS INCORRECT 1.') 18 FORMAT(1H ,' WITH MEAN',F13.4,' AND VARIANCE',F13.4) 19 FORMAT(1H ,' WITH MEDIAN',F13.4,' AND FIRST QUARTILE',F13.4) 20 FORMAT(1H ,' IN THE INTERVAL',F13.4,' TO',F13.4,' INCLUSIVE') 21 FORMAT(1H ,' CAN BE REJECTED WITH PROBABILITY',F6.3,' OF BEING INC 1ORRECT. THE STATISTIC Z',/,' IS',E12.4,' FOR THIS SAMPLE.') 22 FORMAT(//,' THE JOB WITH TITLE ',5A4,' WAS COMPLETED.') C OPEN (UNIT=5, DEVICE='CDR', ACCESS='SEQIN') C OPEN (UNIT=6, DEVICE='LPT', ACCESS='SEQOUT') C C READ DISTRIBUTION NAMES AND JOB CONTROL CARD C IFL=0 READ(5,15)DASH READ(5,6)TIT1 C C SELECT PROGRAM CONTROLS C LOGICAL EOF CALL CHKEOF (EOF) 100 READ(5,15)DAS2 IF (EOF) GOTO 999 IF(DASH-DAS2)101,102,101 101 WRITE(6,17) GO TO 107 102 READ(5,1)TITLE,IS,IR,IO,((DIST(I,J),J=1,3),I=1,5) IES=0 WRITE(6,4)TITLE WRITE(6,5)IS C C NUMBER OF SAMPLES DECISION C IF(IR)103,105,103 103 IF(IFL)104,115,104 104 WRITE(6,16) GO TO 107 105 IF(IS-1)106,109,109 C C NOT ONE OR TWO SAMPLES C 106 WRITE(6,2) 107 READ(5,15)DAS2 IF(DASH-DAS2)107,108,107 108 IFL=1 GO TO 102 C C READ FIRST SAMPLE C 109 N=0 DO 111 I=1,50 READ(5,3)D DO 111 J=1,12 IF(D(J)-999999.0)110,112,110 110 N=N+1 IF(N-501)111,106,106 111 X(N)=D(J) 112 N1=1 WRITE(6,12)N1,N C C CHECK THE SIZE OF N C IF(N-100)113,113,114 113 WRITE(6,13) 114 IF(IS-2)121,115,106 C C READ SECOND SAMPLE C 115 M=0 DO 117 I=1,50 READ(5,3)D DO 117 J=1,12 IF(D(J)-999999.0)116,118,116 116 M=M+1 IF(M-501)117,106,106 117 Y(M)=D(J) 118 N1=2 WRITE(6,12)N1,M C C CHECK THE SIZE OF M C IF(M-100)119,119,120 119 WRITE(6,13) 120 IF(IS-1)121,121,133 C C ONE SAMPLE TEST USING ALL DISTRIBUTIONS REQUESTED C 121 DO 130 I=1,5 IF(DIST(I,1))130,130,122 122 CALL KOLMO(X,N,Z,P,I,DIST(I,2),DIST(I,3),IER) IES=IER+IES IF(IER)130,124,130 123 WRITE(6,14) GO TO 136 C C OUTPUT RESULTS C 124 K=4*I-3 WRITE(6,9)TIT1(K),TIT1(K+1),TIT1(K+2),TIT1(K+3) IF(I-3)125,126,127 125 S2=DIST(I,3)**2 WRITE(6,18)DIST(I,2),S2 GO TO 129 126 S2=DIST(I,2)-DIST(I,3) WRITE(6,19)DIST(I,2),S2 GO TO 129 127 IF(I-4)128,128,130 128 WRITE(6,20)DIST(I,2),DIST(I,3) 129 WRITE(6,21)P,Z 130 CONTINUE C C OUTPUT SAMPLE ONE DECISION C IF(IO)131,132,131 131 WRITE(6,8) WRITE(6,7)(X(J),J=1,N) 132 IF(IES)123,136,123 C C TWO SAMPLE TEST C 133 CALL KOLM2(X,Y,N,M,Z,P) C C OUTPUT SAMPLES DECISION C IF(IO)134,135,134 134 WRITE(6,8) WRITE(6,7)(X(J),J=1,N) WRITE(6,10) WRITE(6,7)(Y(J),J=1,M) 135 WRITE(6,11)P,Z 136 IFL=0 WRITE(6,22)TITLE GO TO 100 999 STOP END