GCC Code Coverage Report


Directory: ./
File: misc/pchdf.f
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 17 0.0%
Branches: 0 8 0.0%

Line Branch Exec Source
1 *DECK PCHDF
2 REAL FUNCTION PCHDF (K, X, S, IERR)
3 C***BEGIN PROLOGUE PCHDF
4 C***SUBSIDIARY
5 C***PURPOSE Computes divided differences for PCHCE and PCHSP
6 C***LIBRARY SLATEC (PCHIP)
7 C***TYPE SINGLE PRECISION (PCHDF-S, DPCHDF-D)
8 C***AUTHOR Fritsch, F. N., (LLNL)
9 C***DESCRIPTION
10 C
11 C PCHDF: PCHIP Finite Difference Formula
12 C
13 C Uses a divided difference formulation to compute a K-point approx-
14 C imation to the derivative at X(K) based on the data in X and S.
15 C
16 C Called by PCHCE and PCHSP to compute 3- and 4-point boundary
17 C derivative approximations.
18 C
19 C ----------------------------------------------------------------------
20 C
21 C On input:
22 C K is the order of the desired derivative approximation.
23 C K must be at least 3 (error return if not).
24 C X contains the K values of the independent variable.
25 C X need not be ordered, but the values **MUST** be
26 C distinct. (Not checked here.)
27 C S contains the associated slope values:
28 C S(I) = (F(I+1)-F(I))/(X(I+1)-X(I)), I=1(1)K-1.
29 C (Note that S need only be of length K-1.)
30 C
31 C On return:
32 C S will be destroyed.
33 C IERR will be set to -1 if K.LT.2 .
34 C PCHDF will be set to the desired derivative approximation if
35 C IERR=0 or to zero if IERR=-1.
36 C
37 C ----------------------------------------------------------------------
38 C
39 C***SEE ALSO PCHCE, PCHSP
40 C***REFERENCES Carl de Boor, A Practical Guide to Splines, Springer-
41 C Verlag, New York, 1978, pp. 10-16.
42 C***ROUTINES CALLED XERMSG
43 C***REVISION HISTORY (YYMMDD)
44 C 820503 DATE WRITTEN
45 C 820805 Converted to SLATEC library version.
46 C 870813 Minor cosmetic changes.
47 C 890411 Added SAVE statements (Vers. 3.2).
48 C 890411 REVISION DATE from Version 3.2
49 C 891214 Prologue converted to Version 4.0 format. (BAB)
50 C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
51 C 900328 Added TYPE section. (WRB)
52 C 910408 Updated AUTHOR and DATE WRITTEN sections in prologue. (WRB)
53 C 920429 Revised format and order of references. (WRB,FNF)
54 C 930503 Improved purpose. (FNF)
55 C***END PROLOGUE PCHDF
56 C
57 C**End
58 C
59 C DECLARE ARGUMENTS.
60 C
61 INTEGER K, IERR
62 REAL X(K), S(K)
63 C
64 C DECLARE LOCAL VARIABLES.
65 C
66 INTEGER I, J
67 REAL VALUE, ZERO
68 SAVE ZERO
69 DATA ZERO /0./
70 C
71 C CHECK FOR LEGAL VALUE OF K.
72 C
73 C***FIRST EXECUTABLE STATEMENT PCHDF
74 IF (K .LT. 3) GO TO 5001
75 C
76 C COMPUTE COEFFICIENTS OF INTERPOLATING POLYNOMIAL.
77 C
78 DO 10 J = 2, K-1
79 DO 9 I = 1, K-J
80 S(I) = (S(I+1)-S(I))/(X(I+J)-X(I))
81 9 CONTINUE
82 10 CONTINUE
83 C
84 C EVALUATE DERIVATIVE AT X(K).
85 C
86 VALUE = S(1)
87 DO 20 I = 2, K-1
88 VALUE = S(I) + VALUE*(X(K)-X(I))
89 20 CONTINUE
90 C
91 C NORMAL RETURN.
92 C
93 IERR = 0
94 PCHDF = VALUE
95 RETURN
96 C
97 C ERROR RETURN.
98 C
99 5001 CONTINUE
100 C K.LT.3 RETURN.
101 IERR = -1
102 CALL XERMSG ('SLATEC', 'PCHDF', 'K LESS THAN THREE', IERR, 1)
103 PCHDF = ZERO
104 RETURN
105 C------------- LAST LINE OF PCHDF FOLLOWS ------------------------------
106 END
107