CTITLEMBNCF -- GENERATE BINOMIAL COEFFICIENT ARRAY 00000030 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR D. C. HAGEN 00000040 CA DESIGNER D. C. HAGEN 00000050 CA LANGUAGE S/370 FORTRAN H 00000060 CA WRITTEN UNKNOWN 00000070 C REVISED 08-20-82 BY CMP. RENAMED FROM BNCF. 00000071 C REVISED MM/DD/YY BY PROGRAMMER FOR REASON 00000080 CA 00000090 CA 00000100 CA CALL MBNCF ( C, NC) 00000110 CA 00000120 CA OUTPUT C = ARRAY CONTAINING BINOMIAL COEFFICIENTS R4 00000130 CA INPUT NC = NUMBER OF ELEMENTS IN ARRAY I4 00000140 CA 00000150 CA 00000160 CA THIS APPLICATION ROUTINE WILL GENERATE A BINOMIAL COEFFICIENT 00000170 CA ARRAY WITH A SPECFIED NUMBER OF ELEMENTS 00000180 CA 00000181 CA 00000182 CAEND 00000183 C EJECT 00000184 C 00000185 SUBROUTINE MBNCF (C,NC) 00000200 REAL*4 C(1) 00000210 C 00000220 NCHP=(NC+1)/2 00000230 NCM=NC-1 00000240 C(1)=1.0 00000250 C(NC)=1.0 00000260 IF (NC.LE.2) GO TO 4 00000270 C(2)=NCM 00000280 C(NC-1)=NCM 00000290 IF (NC.LE.4) GO TO 4 00000300 C 00000310 II=NCM 00000320 CIR=NCM 00000330 CIRF=CIR 00000340 CI=1.0 00000350 CIF=CI 00000360 C 00000370 DO 2 I=3,NCHP 00000380 CIR=CIR-1.0 00000390 CI=CI+1.0 00000400 CIRF=CIRF*CIR 00000410 CIF=CIF*CI 00000420 CXI=CIRF/CIF 00000430 II=II-1 00000440 C(I)=CXI 00000450 C(II)=CXI 00000460 2 CONTINUE 00000470 C 00000480 4 CONTINUE 00000490 CS=0.0 00000500 C 00000510 DO 6 I=1,NC 00000520 CS=CS+C(I) 00000530 6 CONTINUE 00000540 C 00000550 DO 8 I=1,NC 00000560 C(I)=C(I)/CS 00000570 8 CONTINUE 00000580 C 00000590 RETURN 00000600 END 00000610