]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 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 |