9 template<
typename RAN >
 
   18     std::variant<roots_t, nullified_t, non_univariate_t> 
m_data;
 
   42         return std::holds_alternative<nullified_t>(
m_data);
 
   46         return std::holds_alternative<roots_t>(
m_data);
 
   50         return std::holds_alternative<non_univariate_t>(
m_data);
 
   54         return std::get<roots_t>(
m_data);
 
carl is the main namespace for the library.
RealRootsResult< IntRepRealAlgebraicNumber< Number > > real_roots(const UnivariatePolynomial< Coeff > &polynomial, const Interval< Number > &interval=Interval< Number >::unbounded_interval())
Find all real roots of a univariate 'polynomial' with numeric coefficients within a given 'interval'.
RealRootsResult(roots_t &&real_roots)
std::variant< roots_t, nullified_t, non_univariate_t > m_data
RealRootsResult(nullified_t)
bool is_nullified() const
static RealRootsResult nullified_response()
RealRootsResult(non_univariate_t)
const roots_t & roots() const
static RealRootsResult non_univariate_response()
std::vector< RAN > roots_t
bool is_non_univariate() const
bool is_univariate() const
static RealRootsResult roots_response(roots_t &&real_roots)
static RealRootsResult no_roots_response()