14 double __frequency, __phase;
16 SinFunction(
double frequency = 1.0,
double phase = 0.0) :
17 __frequency(frequency), __phase(phase) {}
20 {
return std::sin(__frequency * x + __phase);}
30 "Finding all solutinos of Sin is not implemented." 42 __frequency * std::cos(__frequency * x + __phase),
43 -std::pow(__frequency, 2) *
operator()(x)
51 std::cout.setf(std::ios_base::scientific);
52 std::cout.precision(16);
92 std::cerr <<
"Preparing" << std::endl;
95 "eccentricity_expansion_coef_O400.sqlite",
101 std::cerr <<
"Prepared" << std::endl;
103 std::cout.setf(std::ios_base::scientific);
104 std::cout.precision(16);
105 std::cerr.setf(std::ios_base::scientific);
106 std::cerr.precision(16);
107 Test::TextOutput output(Test::TextOutput::Verbose);
109 Test::Suite all_tests;
127 return (all_tests.run(output)
The test suite that exercises the OrbitSolver class.
const double Inf
Infinity.
Declares the test suite that exercises the OrbitSolver class and some other clasess necessary to acco...
Declare a unit tests class that check the calculations of tidal torque and power. ...
Unit tests that check the expansion of the gravitational potential vs. analytic expressions.
virtual InterpSolutionIterator crossings(double y=0) const=0
An iterator over the abscissas where the function takes the given y value.
A class representing a once differentiable function of a single argument.
static void prepare(const std::string &tabulated_pms_fname, double precision, bool pre_load, bool disable_precision_fail)
See EccentricityExpansionCoefficients::prepare()
An iterator over a set of solutions to an interpolating function.
A class representing arbitrary order derivatives of a function.
A class for the derivatives of a cubic spline (=0 for order>2).
Unit tests that check the differential equations for eccentricity and semimajor against analytic expr...
Unit tests that check the machinery for monitoring potential tidal locks.
virtual const FunctionDerivatives * deriv(double x) const =0
Returns a pointer to the derivative of the function.
virtual double range_high() const=0
The lower end of the range over which the function is defined.
virtual double operator()(double in_value) const=0
The value of the function at the given abscissa.
virtual double range_low() const=0
The upper end of the range over which the function is defined.