Definition at line 27 of file CubicHermiteSplineTest.cpp.
◆ Run()
void CubicHermiteSplineTest::Run |
( |
| ) |
|
|
inline |
◆ SetUp()
virtual void CubicHermiteSplineTest::SetUp |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ TearDown()
void CubicHermiteSplineTest::TearDown |
( |
| ) |
|
|
inlineprotected |
◆ InterpolationTest()
void CubicHermiteSplineTest::InterpolationTest |
( |
| ) |
|
|
inlineprotected |
Definition at line 47 of file CubicHermiteSplineTest.cpp.
48 {
71 y.push_back(-5.89868e-005);
72 y.push_back(0.233061);
73 y.push_back(0.216427);
74 y.push_back(0.0486148);
75 y.push_back(-0.133157);
76 y.push_back(-0.172031);
77 y.push_back(-0.0456079);
78 y.push_back(0.0906686);
79 y.push_back(0.116462);
80 y.push_back(0.0557287);
81 y.push_back(-0.03875);
82 y.push_back(-0.10346);
83 y.push_back(-0.0734111);
84 y.push_back(0.0298435);
85 y.push_back(0.094886);
86 y.push_back(0.0588743);
87 y.push_back(-0.0171021);
88 y.push_back(-0.0630512);
89 y.push_back(-0.0601684);
90 y.push_back(-0.00994154);
91
92 vector<double> xIn;
93 vector<double> yIn;
94 const double PI = 3.1415;
97 double step = 4 *
PI / (
N - 1);
98 for (
int i = 0; i <
N; ++i, xx += step)
99 {
100 xIn.push_back(xx);
101 yIn.push_back(sin(2 * xx) / xx);
102 }
103
105 const int N_out = 20;
107 step = (3 *
PI) / (N_out - 1);
108 for (int i = 0; i < N_out; ++i, xx += step)
109 {
110 double interpolatedX = interpolator.Interpolate(xx);
111 double diff = abs(interpolatedX -
y[i]);
113 }
114 }
void diff(const string &filename1, const string &filename2)
KernelTraitsBase< Kernel >::space_type::abscissa_type x
KernelTraitsBase< Kernel >::space_type::ordinate_type y
An implementation of the IInterpolation interface that acts as a wrapper for a cSpline.
const double PI(3.14159265358979323846264338327950288)
the ratio of the circumference of a circle to its diameter;
References diff(), pwiz::analysis::CubicHermiteSpline::Interpolate(), N, unit_assert, x, and y.
Referenced by Run().
◆ CubicSplineDummyInitialize()
void CubicHermiteSplineTest::CubicSplineDummyInitialize |
( |
const vector< double > & |
x, |
|
|
const vector< double > & |
y |
|
) |
| |
|
inlineprotected |
◆ ErrorTest()
void CubicHermiteSplineTest::ErrorTest |
( |
| ) |
|
|
inlineprotected |
Definition at line 121 of file CubicHermiteSplineTest.cpp.
122 {
123
127
128
134 for (
size_t i = 0; i <
x.size(); ++i)
135 {
137 }
139
140
146 for (
size_t i = 0; i <
x.size(); ++i)
147 {
149 }
151
152
158 for (
size_t i = 0; i <
x.size(); ++i)
159 {
161 }
164
165
174 }
void CubicSplineDummyInitialize(const vector< double > &x, const vector< double > &y)
#define unit_assert_throws_what(x, exception, whatStr)
References CubicSplineDummyInitialize(), unit_assert_throws_what, x, and y.
Referenced by Run().
◆ DiffAndIntegrateTest()
void CubicHermiteSplineTest::DiffAndIntegrateTest |
( |
| ) |
|
|
inlineprotected |
Definition at line 176 of file CubicHermiteSplineTest.cpp.
177 {
188
190
193
194 if (interpolator.IsDifferentiable())
195 {
196
198
199
201 }
202 else
203 {
204 unit_assert_throws_what(interpolator.Differentiate(2.0), runtime_error,
"[CubicHermiteSpline] attempted to differentiate a non-differentiable implementation of IInterpolation.")
205 }
206
207 if (interpolator.IsIntegrable())
208 {
209
211
212
214 }
215 else
216 {
217 unit_assert_throws_what(interpolator.Integrate(1.0, 2.0), runtime_error,
"[CubicHermiteSpline] attempted to integrate a non-integrable implementation of IInterpolation.")
218 }
219 }
#define unit_assert_equal(x, y, epsilon)
References pwiz::analysis::CubicHermiteSpline::Differentiate(), pwiz::analysis::CubicHermiteSpline::Integrate(), pwiz::analysis::CubicHermiteSpline::IsDifferentiable(), pwiz::analysis::CubicHermiteSpline::IsIntegrable(), unit_assert, unit_assert_equal, unit_assert_throws_what, x, and y.
The documentation for this class was generated from the following file: