5 * Revision 1.1.1.2 1996/10/30 08:27:52 cernlib
8 * Revision 1.1.1.1 1996/04/12 15:29:15 plothow
12 #include "pdf/pilot.h"
13 #if defined(CERNLIB_SINGLE)
14 FUNCTION DBFINT(NARG,ARG,NA,ENT,TABLE)
16 #if defined(CERNLIB_DOUBLE)
17 DOUBLE PRECISION FUNCTION DBFINT(NARG,ARG,NA,ENT,TABLE)
19 #include "pdf/impdp.inc"
20 INTEGER NA(NARG), INDEX(32)
21 #include "pdf/expdp.inc"
22 + ARG(NARG),ENT(10),TABLE(10),WEIGHT(32)
23 DATA ZEROD/0.D0/ONED/1.D0/
26 IF(NARG .LT. 1 .OR. NARG .GT. 5) RETURN
39 IF(NDIM .GT. 2) GOTO 10
40 IF(NDIM .EQ. 1) GOTO 100
42 IF(H .EQ. ZEROD) GOTO 90
44 IF(X-ENT(LMIN+1) .EQ. ZEROD) GOTO 21
46 ETA = H / (ENT(LMIN+1) - ENT(LMIN))
49 11 LOCC = (LOCA+LOCB) / 2
50 IF(X-ENT(LOCC)) 12, 20, 13
54 14 IF(LOCB-LOCA .GT. 1) GOTO 11
55 LOCA = MIN ( MAX (LOCA,LMIN), LMAX-1 )
56 ISHIFT = (LOCA - LMIN) * ISTEP
57 ETA = (X - ENT(LOCA)) / (ENT(LOCA+1) - ENT(LOCA))
59 20 ISHIFT = (LOCC - LMIN) * ISTEP
61 INDEX(K) = INDEX(K) + ISHIFT
65 INDEX(K) = INDEX(K) + ISHIFT
66 INDEX(K+KNOTS) = INDEX(K) + ISTEP
67 WEIGHT(K+KNOTS) = WEIGHT(K) * ETA
68 WEIGHT(K) = WEIGHT(K) - WEIGHT(K+KNOTS)
71 90 ISTEP = ISTEP * NDIM
75 DBFINT = DBFINT + WEIGHT(K) * TABLE(I)