GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
initds.f
Go to the documentation of this file.
1 *DECK INITDS
2  FUNCTION initds (OS, NOS, ETA)
3 C***BEGIN PROLOGUE INITDS
4 C***PURPOSE Determine the number of terms needed in an orthogonal
5 C polynomial series so that it meets a specified accuracy.
6 C***LIBRARY SLATEC (FNLIB)
7 C***CATEGORY C3A2
8 C***TYPE DOUBLE PRECISION (INITS-S, INITDS-D)
9 C***KEYWORDS CHEBYSHEV, FNLIB, INITIALIZE, ORTHOGONAL POLYNOMIAL,
10 C ORTHOGONAL SERIES, SPECIAL FUNCTIONS
11 C***AUTHOR Fullerton, W., (LANL)
12 C***DESCRIPTION
13 C
14 C Initialize the orthogonal series, represented by the array OS, so
15 C that INITDS is the number of terms needed to insure the error is no
16 C larger than ETA. Ordinarily, ETA will be chosen to be one-tenth
17 C machine precision.
18 C
19 C Input Arguments --
20 C OS double precision array of NOS coefficients in an orthogonal
21 C series.
22 C NOS number of coefficients in OS.
23 C ETA single precision scalar containing requested accuracy of
24 C series.
25 C
26 C***REFERENCES (NONE)
27 C***ROUTINES CALLED XERMSG
28 C***REVISION HISTORY (YYMMDD)
29 C 770601 DATE WRITTEN
30 C 890531 Changed all specific intrinsics to generic. (WRB)
31 C 890831 Modified array declarations. (WRB)
32 C 891115 Modified error message. (WRB)
33 C 891115 REVISION DATE from Version 3.2
34 C 891214 Prologue converted to Version 4.0 format. (BAB)
35 C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
36 C***END PROLOGUE INITDS
37  DOUBLE PRECISION os(*)
38 C***FIRST EXECUTABLE STATEMENT INITDS
39  IF (nos .LT. 1) CALL xermsg ('SLATEC', 'INITDS',
40  + 'Number of coefficients is less than 1', 2, 1)
41 C
42  err = 0.
43  DO 10 ii = 1,nos
44  i = nos + 1 - ii
45  err = err + abs(REAL(os(i)))
46  IF (err.GT.eta) GO TO 20
47  10 CONTINUE
48 C
49  20 IF (i .EQ. nos) CALL xermsg ('SLATEC', 'INITDS',
50  + 'Chebyshev series too short for specified accuracy', 1, 1)
51  initds = i
52 C
53  RETURN
54  END
static T abs(T x)
Definition: pr-output.cc:1696