4 #include "kernnum/pilot.h"
5 FUNCTION FINT(NARG,ARG,NENT,ENT,TABLE)
7 C INTERPOLATION ROUTINE. AUTHOR C. LETERTRE.
8 C MODIFIED BY B. SCHORR, 1.07.1982.
11 REAL ARG(9), ENT(9), TABLE(9)
16 IF(NARG .LT. 1 .OR. NARG .GT. 5) GOTO 300
28 IF(NDIM .GT. 2) GOTO 10
29 IF(NDIM .EQ. 1) GOTO 100
33 IF(X-ENT(LMIN+1) .EQ. 0.) GOTO 21
35 ETA = H / (ENT(LMIN+1) - ENT(LMIN))
38 11 LOCC = (LOCA+LOCB) / 2
39 IF(X-ENT(LOCC)) 12, 20, 13
43 14 IF(LOCB-LOCA .GT. 1) GOTO 11
44 LOCA = MIN0( MAX0(LOCA,LMIN), LMAX-1 )
45 ISHIFT = (LOCA - LMIN) * ISTEP
46 ETA = (X - ENT(LOCA)) / (ENT(LOCA+1) - ENT(LOCA))
48 20 ISHIFT = (LOCC - LMIN) * ISTEP
50 INDEX(K) = INDEX(K) + ISHIFT
54 INDEX(K) = INDEX(K) + ISHIFT
55 INDEX(K+KNOTS) = INDEX(K) + ISTEP
56 WEIGHT(K+KNOTS) = WEIGHT(K) * ETA
57 WEIGHT(K) = WEIGHT(K) - WEIGHT(K+KNOTS)
60 90 ISTEP = ISTEP * NDIM
64 FINT = FINT + WEIGHT(K) * TABLE(I)
67 300 CALL KERMTR('E104.1',LGFILE,MFLAG,RFLAG)
69 IF(LGFILE .EQ. 0) THEN
72 WRITE(LGFILE,1000) NARG
75 IF(.NOT. RFLAG) CALL ABEND
77 1000 FORMAT( 7X, 24HFUNCTION FINT ... NARG =,I6,
78 + 17H NOT WITHIN RANGE)