5 * Revision 1.1.1.1 1995/10/24 10:21:57 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani
12 SUBROUTINE INTERP(X,Y,X1,Y1,X2,Y2,INT)
13 C THIS ROUTINE PERFORMS THE INTERPOLATION ACCORDING
14 C TO THE ENDF/B INTERPOLATION SCHEME INT
15 #include "geant321/minput.inc"
17 IF(INT.LT.1.OR.INT.GT.5)GO TO 60
19 GO TO (10,20,30,40,50),INT
22 20 Y=Y1+(X-X1)*(Y2-Y1)/(X2-X1)
24 30 IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 20
25 Y=Y1+ALOG(X/X1)*(Y2-Y1)/ALOG(X2/X1)
27 40 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 20
28 Y=Y1*EXP((X-X1)*ALOG(Y2/Y1)/(X2-X1))
30 50 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 30
31 IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 40
32 Y=Y1*EXP(ALOG(X/X1)*ALOG(Y2/Y1)/ALOG(X2/X1))
34 60 WRITE(IOUT,10000)INT
35 10000 FORMAT(' MICAP: INTERP-INVALID INTERPOLATION SCHEME',I11)
36 WRITE(6,*) ' CALOR: ERROR in INTERP ====> STOP '