5 * Revision 1.1.2.1 2002/07/11 17:14:48 alibrary
8 * Revision 1.1.1.1 1999/05/18 15:55:33 fca
11 * Revision 1.1.1.1 1996/02/15 17:48:36 mclareni
15 #include "kernnum/pilot.h"
16 FUNCTION FINT(NARG,ARG,NENT,ENT,TABLE)
18 C INTERPOLATION ROUTINE. AUTHOR C. LETERTRE.
19 C MODIFIED BY B. SCHORR, 1.07.1982.
22 REAL ARG(9), ENT(9), TABLE(9)
27 IF(NARG .LT. 1 .OR. NARG .GT. 5) GOTO 300
39 IF(NDIM .GT. 2) GOTO 10
40 IF(NDIM .EQ. 1) GOTO 100
44 IF(X-ENT(LMIN+1) .EQ. 0.) 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 = MIN0( MAX0(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 FINT = FINT + WEIGHT(K) * TABLE(I)
78 300 CALL KERMTR('E104.1',LGFILE,MFLAG,RFLAG)
80 IF(LGFILE .EQ. 0) THEN
83 WRITE(LGFILE,1000) NARG
86 IF(.NOT. RFLAG) CALL ABEND
88 1000 FORMAT( 7X, 24HFUNCTION FINT ... NARG =,I6,
89 + 17H NOT WITHIN RANGE)