]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/mathlib/gen/divon/grdcmp.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / divon / grdcmp.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:03:26  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10       SUBROUTINE GRDCMP (N,NCOMP,INDEX,X,FVAL,DELTA,XHI,XTEMP,GRAD)
11       INTEGER N, NCOMP
12       INTEGER INDEX(NCOMP)
13       DOUBLE PRECISION FVAL, DELTA
14       DOUBLE PRECISION X(N), XHI(N), XTEMP(N), GRAD(NCOMP)
15       INTEGER I, II
16       DOUBLE PRECISION DELX, DFUN, FDIF, FTEMP
17 CMM   INTEGER IABS
18       IF(NCOMP.LE.0) RETURN
19       DO 10 I=1,N
20       XTEMP(I)=X(I)
21  10   CONTINUE
22       DO 20 I=1,NCOMP
23       DELX=DELTA
24       II=ABS(INDEX(I))
25       IF((X(II)+DELTA).GT.XHI(II)) DELX=-DELTA
26       XTEMP(II)=X(II)+DELX
27       FTEMP=DFUN(N,XTEMP)
28       XTEMP(II)=X(II)
29       FDIF=(FTEMP-FVAL)/DELX
30       GRAD(I)=FDIF
31  20   CONTINUE
32       RETURN
33       END