CGStandardDeviationUnitTest.cpp File Reference

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )
13 {
14  logger(INFO," Checking setting the standard deviation of cg functions");
15 
16  {
18  X.setStandardDeviation(1);
19  helpers::check(X.getFunction().getCutoff(),constants::sqrt_3,1e-11, "Cutoff of 1D Heaviside with unit variance");
20 
22  XY.setStandardDeviation(1);
23  helpers::check(XY.getFunction().getCutoff(),constants::sqrt_2,1e-11, "Cutoff of 2D Heaviside with unit variance");
24 
26  XYZ.setStandardDeviation(1);
27  helpers::check(XYZ.getFunction().getCutoff(),sqrt(5./3.),1e-11, "Cutoff of 3D Heaviside with unit variance");
28  }
29 
30  {
32  X.setStandardDeviation(1);
33  helpers::check(X.getFunction().getCutoff(),sqrt(10.5),1e-11, "Cutoff of 1D Lucy with unit variance");
34 
36  XY.setStandardDeviation(1);
37  helpers::check(XY.getFunction().getCutoff(),sqrt(5.6),1e-11, "Cutoff of 2D Lucy with unit variance");
38 
40  XYZ.setStandardDeviation(1);
41  helpers::check(XYZ.getFunction().getCutoff(),2,1e-11, "Cutoff of 3D Lucy with unit variance");
42  }
43 
44  {
46  X.setStandardDeviation(1);
47  helpers::check(X.getFunction().getCutoff(),3,1e-11, "Cutoff of 1D Gauss with unit variance");
48 
50  XY.setStandardDeviation(1);
51  helpers::check(XY.getFunction().getCutoff(),3/sqrt(2),1e-11, "Cutoff of 2D Gauss with unit variance");
52 
54  XYZ.setStandardDeviation(1);
55  helpers::check(XYZ.getFunction().getCutoff(),3/sqrt(3),1e-11, "Cutoff of 3D Gauss with unit variance");
56  }
57 
58 
59 
60  {
62  X.setRadius(1);
63  helpers::check(X.getFunction().getCutoff(),constants::sqrt_3*sqrt(.2),1e-11, "Cutoff of 1D Heaviside with unit radius-equivalent");
64 
66  XY.setRadius(1);
67  helpers::check(XY.getFunction().getCutoff(),constants::sqrt_2*sqrt(.4),1e-11, "Cutoff of 2D Heaviside with unit radius-equivalent");
68 
70  XYZ.setRadius(1);
71  helpers::check(XYZ.getFunction().getCutoff(),sqrt(5./3.)*sqrt(.6),1e-11, "Cutoff of 3D Heaviside with unit radius-equivalent");
72  }
73 
74  {
76  X.setRadius(1);
77  helpers::check(X.getFunction().getCutoff(),sqrt(6)*sqrt(.2),1e-11, "Cutoff of 1D Linear with unit radius-equivalent");
78 
80  XY.setRadius(1);
81  helpers::check(XY.getFunction().getCutoff(),sqrt(10./3)*sqrt(.4),1e-11, "Cutoff of 2D Linear with unit radius-equivalent");
82 
84  XYZ.setRadius(1);
85  helpers::check(XYZ.getFunction().getCutoff(),sqrt(5./2)*sqrt(.6),1e-11, "Cutoff of 3D Linear with unit radius-equivalent");
86  }
87 
88  {
90  X.setRadius(1);
91  helpers::check(X.getFunction().getCutoff(),sqrt(10.5)*sqrt(.2),1e-11, "Cutoff of 1D Lucy with unit radius-equivalent");
92 
94  XY.setRadius(1);
95  helpers::check(XY.getFunction().getCutoff(),sqrt(5.6)*sqrt(.4),1e-11, "Cutoff of 2D Lucy with unit radius-equivalent");
96 
98  XYZ.setRadius(1);
99  helpers::check(XYZ.getFunction().getCutoff(),2*sqrt(.6),1e-11, "Cutoff of 3D Lucy with unit radius-equivalent");
100  }
101 
102  {
104  X.setRadius(1);
105  helpers::check(X.getFunction().getCutoff(),3*sqrt(.2),1e-11, "Cutoff of 1D Gauss with unit radius-equivalent");
106 
108  XY.setRadius(1);
109  helpers::check(XY.getFunction().getCutoff(),3/sqrt(2)*sqrt(.4),1e-11, "Cutoff of 2D Gauss with unit radius-equivalent");
110 
112  XYZ.setRadius(1);
113  helpers::check(XYZ.getFunction().getCutoff(),3/sqrt(3)*sqrt(.6),1e-11, "Cutoff of 3D Gauss with unit radius-equivalent");
114  }
115  return 0;
116 }
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
@ XY
Definition: StatisticsVector.h:21
@ XYZ
Definition: StatisticsVector.h:21
Evaluates time-resolved continuum fields and writes the data into a stat file.
Definition: CG.h:55
#define X
Definition: icosphere.cpp:20
#define INFO(i)
Definition: mumps_solver.h:54
const Mdouble sqrt_3
Definition: ExtendedMath.h:27
const Mdouble sqrt_2
Definition: ExtendedMath.h:26
void check(double real, double ideal, double error, std::string errorMessage)
Definition: TestHelpers.cc:16

References helpers::check(), e(), INFO, logger, sqrt(), constants::sqrt_2, constants::sqrt_3, X, XY, and XYZ.