* * $Id: hrval.F,v 1.1.1.1 1996/01/16 17:07:47 mclareni Exp $ * * $Log: hrval.F,v $ * Revision 1.1.1.1 1996/01/16 17:07:47 mclareni * First import * * #include "hbook/pilot.h" *CMZ : 4.10/05 21/02/89 16.14.53 by Rene Brun *-- Author : #if !defined(CERNLIB_DOUBLE) FUNCTION HRVAL (X) #endif #if defined(CERNLIB_DOUBLE) DOUBLE PRECISION FUNCTION HRVAL (X) #endif *.==========> *. GIVES THE VALUE OF THE REGRESSION COMPUTED AT *. POINT X (PREDICTION) *..=========> ( D.Lienart ) DIMENSION X(1),XN(10) #include "hbook/hcpar1.inc" #include "hbook/hcpar2.inc" #if defined(CERNLIB_DOUBLE) DOUBLE PRECISION COEFF,P,HSTELF,HELEFT,HBASFT #endif * * NORMALIZE X USING THE SAME TRANSFORMATION AS FOR THE * ORIGINAL SAMPLE * IF (IOPT(8).EQ.0) THEN DO 5 I=1,ND XN(I)=X(I) 5 CONTINUE ELSE IF (IOPT(8).EQ.3) THEN DO 10 I=1,ND XN(I)=X(I)-XMIN(I) 10 CONTINUE ELSE DO 15 I=1,ND XN(I)=ALIM(I)+(BLIM(I)-ALIM(I))*(X(I)-XMIN(I))/ + (XMAX(I)-XMIN(I)) 15 CONTINUE ENDIF ENDIF * * COMPUTE REGRESSION VALUE * HRVAL=0. DO 30 K=1,NCO P=1. DO 20 I=1,ND NUM=IBASFT(I,K)/10 ITYP=IBASFT(I,K)-NUM*10 IF (NUM.NE.0) THEN IF (ITYP.EQ.0) P=P*HSTELF(IOPT(4),NUM,XN(I)) IF (ITYP.EQ.1) P=P*HELEFT(NUM,XN(I)) IF (ITYP.EQ.2) THEN P=HBASFT(NUM,XN) GOTO 25 ENDIF ENDIF 20 CONTINUE 25 HRVAL=HRVAL+COEFF(K)*P 30 CONTINUE END