]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/mathlib/gen/d/d501sf.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / d / d501sf.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:02:20  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10       SUBROUTINE D501SF (VERS,SUB,MODE,M,A,N,F,DF,K,NX,X,Y,SY,W,NERROR)
11
12 ************************************************************************
13 *   LEAMAX, VERSION: 15.03.1993
14 ************************************************************************
15 *
16 *   THIS ROUTINE COMPUTES FUNCTION VALUES AND DERIVATIVES DEPENDING ON
17 *   THE VALUE OF THE PARAMETER  VERS.
18 *
19 *************************************************************************
20
21 #include "gen/imp64.inc"
22       DIMENSION A(*),F(*),DF(N,*),X(*),Y(*),SY(*),W(*)
23       CHARACTER VERS*6
24
25       NERROR=0
26
27       IF (VERS .EQ. 'DSUMSQ') THEN
28        CALL SUB (M,A,N,F,DF,MODE,NERROR)
29        IF (NERROR .NE. 0) NERROR=3
30        RETURN
31       ENDIF
32
33       IF (VERS .EQ. 'DFUNFT') THEN
34        IX=1
35        DO 20 I=1,N
36         CALL SUB (K,X(IX),M,A,SF,W,MODE,NERROR)
37         IF (NERROR .NE. 0) THEN
38          NERROR=3
39          RETURN
40         ENDIF
41         F(I)=(Y(I)-SF)/SY(I)
42         IX=IX+NX
43        IF (MODE .EQ. 0) GOTO 20
44        DO 10 J=1,M
45    10  DF(I,J)=-W(J)/SY(I)
46    20  CONTINUE
47        RETURN
48       ENDIF
49
50       END
51
52
53