Skip to content

Commit

Permalink
Update: integrator tests
Browse files Browse the repository at this point in the history
  • Loading branch information
octoflar committed Jun 20, 2024
1 parent 64e2640 commit c8a3265
Showing 1 changed file with 22 additions and 18 deletions.
40 changes: 22 additions & 18 deletions src/test/cxx/core/integrator_test.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -95,23 +95,21 @@ class Integrator_Test : public Unit_Test
using especia::sq;
using std::exp;

double result = integrator.integrate_positive_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); });
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+0,+Infinity%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (positive-infinite, default)");
double result;

const Integrator<double> q13 (Integrator<double>::Formula::Q13,
Integrator<double>::Formula::Q19);
result = q13.integrate_positive_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); }, 0.0,
4.0);
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+0,+Infinity%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (positive-infinite, Q13-Q19)");

const Integrator<double> q27 (Integrator<double>::Formula::Q27,
Integrator<double>::Formula::Q41);
result = q19.integrate_positive_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); });
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+0,+Infinity%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (positive-infinite, Q19-Q27)");

result = q27.integrate_positive_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); }, 0.0,
4.0);
Expand All @@ -126,23 +124,21 @@ class Integrator_Test : public Unit_Test
using especia::sq;
using std::exp;

double result = integrator.integrate_negative_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); });
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+-Infinity,+0%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (negative-infinite, default)");
double result;

const Integrator<double> q13 (Integrator<double>::Formula::Q13,
Integrator<double>::Formula::Q19);
result = q13.integrate_negative_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); }, 0.0,
4.0);
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+-Infinity,+0%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (negative-infinite, Q13-Q19)");

const Integrator<double> q27 (Integrator<double>::Formula::Q27,
Integrator<double>::Formula::Q41);
result = q19.integrate_negative_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); });
// <https://www.wolframalpha.com/input/?i=integrate%5B1-Exp%5B-Exp%5B-x%5E2%5D%5D,%7Bx,+-Infinity,+0%7D%5D>
assert_equals (0.642572, result, 0.5E-06,
"integrate absorption (negative-infinite, Q19-Q27)");

result = q27.integrate_negative_infinite (
[] (double x) -> double { return 1.0 - exp (-exp (-sq (x))); }, 0.0,
4.0);
Expand Down Expand Up @@ -179,7 +175,15 @@ class Integrator_Test : public Unit_Test
run (this, &Integrator_Test::test_integrate_absorption_infinite);
}

/// The default integrator
const Integrator<double> integrator;

const Integrator<double> q13
= Integrator<> (Integrator<>::Formula::Q13, Integrator<>::Formula::Q19);
const Integrator<double> q19
= Integrator<> (Integrator<>::Formula::Q19, Integrator<>::Formula::Q27);
const Integrator<double> q27
= Integrator<> (Integrator<>::Formula::Q27, Integrator<>::Formula::Q41);
};

int
Expand Down

0 comments on commit c8a3265

Please sign in to comment.