CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
CubicSolver.hpp File Reference
#include <vector>
#include <cmath>
#include <algorithm>
#include <numeric>
#include <complex>
#include <corsika/framework/utility/QuadraticSolver.hpp>
#include <corsika/framework/core/Logging.hpp>
#include <boost/multiprecision/cpp_bin_float.hpp>
#include <corsika/detail/framework/utility/CubicSolver.inl>
Include dependency graph for CubicSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 corsika
 `, since they are used everywhere as integral part of the framework.
 

Functions

std::vector< double > corsika::andre::solveP3 (long double a, long double b, long double c, long double d, double const epsilon=1e-12)
 Solve a x^3 + b x^2 + c x + d = 0.
 
std::vector< double > corsika::solve_cubic_depressed_disciminant_real (long double p, long double q, long double const disc, double const epsilon=1e-12)
 Solve depressed cubic: x^3 + p x + q = 0.
 
std::vector< double > corsika::solve_cubic_depressed_real (long double p, long double q, double const epsilon=1e-12)
 
std::vector< double > corsika::solve_cubic_real_analytic (long double a, long double b, long double c, long double d, double const epsilon=1e-12)
 Solve a x^3 + b x^2 + c x + d = 0. More...
 
template<typename T >
corsika::cubic_function (T x, T a, T b, T c, T d)
 Cubic function. More...
 
template<typename T >
corsika::cubic_function_dfdx (T x, T a, T b, T c)
 
template<typename T >
corsika::cubic_function_d2fd2x (T x, T a, T b)
 
std::vector< double > corsika::solve_cubic_real (long double a, long double b, long double c, long double d, double const epsilon=1e-12)
 Iterative approach to solve: a x^3 + b x^2 + c x + d = 0. More...