1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//! Chebyshev functions.
//!
//! ## DESCRIPTION
//!
//! - `chebyshev_init` determines the number of terms for the
//! double precision orthogonal series `dos` needed to insure
//! the error is no larger than `eta`. Ordinarily eta will be
//! chosen to be one-tenth machine precision.
//! - `chebyshev_eval` evaluates the n-term Chebyshev series
//! `a` at `x`.
//!
//! ## NOTES
//!
//! These routines are translations into Rust by R. Huijzer and J. Storopoli
//! from C translations of Fortran routines by W. Fullerton of Los Alamos
//! Scientific Laboratory. Based on the Fortran routine dcsevl by W. Fullerton.
//! Adapted from R. Broucke, Algorithm 446, CACM., 16, 254 (1973).
use crate*;
/// `chebyshev_init` determines the number of terms for the
/// double precision orthogonal series `dos` needed to insure
/// the error is no larger than `eta`. Ordinarily eta will be
/// chosen to be one-tenth machine precision.
/// `chebyshev_eval` evaluates the n-term Chebyshev series
/// `a` at `x`.