SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number > Class Template Reference

Represent a multidimensional point whose components are algebraic reals. More...

#include <RealAlgebraicPoint.h>

Inheritance diagram for smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >:
Collaboration diagram for smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >:

Public Member Functions

 RealAlgebraicPoint () noexcept=default
 Create an empty point of dimension 0. More...
 
 RealAlgebraicPoint (const std::vector< carl::IntRepRealAlgebraicNumber< Number >> &v)
 Convert from a vector using its numbers in the same order as components. More...
 
 RealAlgebraicPoint (std::vector< carl::IntRepRealAlgebraicNumber< Number >> &&v)
 Convert from a vector using its numbers in the same order as components. More...
 
 RealAlgebraicPoint (const std::list< carl::IntRepRealAlgebraicNumber< Number >> &v)
 Convert from a list using its numbers in the same order as components. More...
 
 RealAlgebraicPoint (const std::initializer_list< carl::IntRepRealAlgebraicNumber< Number >> &v)
 Convert from a initializer_list using its numbers in the same order as components. More...
 
std::size_t dim () const
 Give the dimension/number of components of this point. More...
 
RealAlgebraicPoint prefixPoint (size_t componentCount) const
 Make a (lower dimensional) copy that contains only the first 'componentCount'-many components. More...
 
RealAlgebraicPoint conjoin (const carl::IntRepRealAlgebraicNumber< Number > &r)
 Create a new point with another given component added at the end of this point, thereby increasing its dimension by 1. More...
 
const carl::IntRepRealAlgebraicNumber< Number > & operator[] (std::size_t index) const
 Retrieve the component of this point at the given index. More...
 
carl::IntRepRealAlgebraicNumber< Number > & operator[] (std::size_t index)
 Retrieve the component of this point at the given index. More...
 

Private Attributes

std::vector< carl::IntRepRealAlgebraicNumber< Number > > mNumbers
 Numbers of this RealAlgebraicPoint. More...
 

Detailed Description

template<typename Number>
class smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >

Represent a multidimensional point whose components are algebraic reals.

This class is just a thin wrapper around vector to have a clearer semantic meaning.

Definition at line 15 of file RealAlgebraicPoint.h.

Constructor & Destructor Documentation

◆ RealAlgebraicPoint() [1/5]

template<typename Number >
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::RealAlgebraicPoint ( )
defaultnoexcept

Create an empty point of dimension 0.

Here is the caller graph for this function:

◆ RealAlgebraicPoint() [2/5]

template<typename Number >
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::RealAlgebraicPoint ( const std::vector< carl::IntRepRealAlgebraicNumber< Number >> &  v)
inlineexplicit

Convert from a vector using its numbers in the same order as components.

Definition at line 31 of file RealAlgebraicPoint.h.

◆ RealAlgebraicPoint() [3/5]

template<typename Number >
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::RealAlgebraicPoint ( std::vector< carl::IntRepRealAlgebraicNumber< Number >> &&  v)
inlineexplicit

Convert from a vector using its numbers in the same order as components.

Definition at line 38 of file RealAlgebraicPoint.h.

◆ RealAlgebraicPoint() [4/5]

template<typename Number >
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::RealAlgebraicPoint ( const std::list< carl::IntRepRealAlgebraicNumber< Number >> &  v)
inlineexplicit

Convert from a list using its numbers in the same order as components.

Definition at line 45 of file RealAlgebraicPoint.h.

◆ RealAlgebraicPoint() [5/5]

template<typename Number >
smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::RealAlgebraicPoint ( const std::initializer_list< carl::IntRepRealAlgebraicNumber< Number >> &  v)
inline

Convert from a initializer_list using its numbers in the same order as components.

Definition at line 52 of file RealAlgebraicPoint.h.

Member Function Documentation

◆ conjoin()

template<typename Number >
RealAlgebraicPoint smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::conjoin ( const carl::IntRepRealAlgebraicNumber< Number > &  r)
inline

Create a new point with another given component added at the end of this point, thereby increasing its dimension by 1.

The original point remains untouched.

Definition at line 79 of file RealAlgebraicPoint.h.

Here is the call graph for this function:

◆ dim()

template<typename Number >
std::size_t smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::dim ( ) const
inline

Give the dimension/number of components of this point.

Definition at line 59 of file RealAlgebraicPoint.h.

Here is the caller graph for this function:

◆ operator[]() [1/2]

template<typename Number >
carl::IntRepRealAlgebraicNumber<Number>& smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::operator[] ( std::size_t  index)
inline

Retrieve the component of this point at the given index.

Definition at line 96 of file RealAlgebraicPoint.h.

◆ operator[]() [2/2]

template<typename Number >
const carl::IntRepRealAlgebraicNumber<Number>& smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::operator[] ( std::size_t  index) const
inline

Retrieve the component of this point at the given index.

Definition at line 88 of file RealAlgebraicPoint.h.

◆ prefixPoint()

template<typename Number >
RealAlgebraicPoint smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::prefixPoint ( size_t  componentCount) const
inline

Make a (lower dimensional) copy that contains only the first 'componentCount'-many components.

Definition at line 67 of file RealAlgebraicPoint.h.

Here is the call graph for this function:

Field Documentation

◆ mNumbers

template<typename Number >
std::vector<carl::IntRepRealAlgebraicNumber<Number> > smtrat::mcsat::onecellcad::RealAlgebraicPoint< Number >::mNumbers
private

Numbers of this RealAlgebraicPoint.

Definition at line 20 of file RealAlgebraicPoint.h.


The documentation for this class was generated from the following file: