irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
irafhy::Constraints Class Reference

#include <constraints.h>

Collaboration diagram for irafhy::Constraints:
Collaboration graph

Public Member Functions

 Constraints ()=default
 constructor More...
 
 Constraints (const std::vector< Constraint > &inequalities, std::size_t dimension)
 constructor with given inequalities and dimension More...
 
 ~Constraints ()=default
 destructor More...
 
std::size_t size () const
 get the size of the inequalities More...
 
std::size_t dimension () const
 get the dimension of the system More...
 
CONSTRAINTS_SOLUTION isSatisfy (const capd::interval &t, const std::vector< capd::interval > &in, const std::vector< capd::interval > &params) const
 check if the given values inside the target domain defined by the given constraints or not More...
 
Constraint operator[] (std::size_t index)
 get the specified constraint More...
 
const Constraintoperator[] (std::size_t index) const
 get the specified constraint More...
 

Private Attributes

std::vector< Constraintinequalities_
 constraints of the system More...
 
std::size_t dimension_ = 0
 dimension of the system More...
 

Friends

std::ostream & operator<< (std::ostream &out, const Constraints &rhs)
 out the given constraints to standard out stream More...
 

Constructor & Destructor Documentation

◆ Constraints() [1/2]

irafhy::Constraints::Constraints ( )
default

constructor

◆ Constraints() [2/2]

irafhy::Constraints::Constraints ( const std::vector< Constraint > &  inequalities,
std::size_t  dimension 
)

constructor with given inequalities and dimension

Parameters
inequalitiesgiven inequalities
dimensiondimension of the system

References dimension(), dimension_, and inequalities_.

Here is the call graph for this function:

◆ ~Constraints()

irafhy::Constraints::~Constraints ( )
default

destructor

Member Function Documentation

◆ dimension()

std::size_t irafhy::Constraints::dimension ( ) const

get the dimension of the system

Returns
the dimension of the system

References dimension_.

Referenced by irafhy::CSPSolver::branchPruneSolve(), and Constraints().

◆ isSatisfy()

CONSTRAINTS_SOLUTION irafhy::Constraints::isSatisfy ( const capd::interval &  t,
const std::vector< capd::interval > &  in,
const std::vector< capd::interval > &  params 
) const

check if the given values inside the target domain defined by the given constraints or not

Parameters
tgiven time interval value
ininput values
paramsparameters necessary
Returns
TRUE if the given values hold all the relations of the constraints

References irafhy::ALL_SATISFIED, irafhy::ALL_UNSATISFIED, inequalities_, and irafhy::PARTIAL_SATISFIED.

◆ operator[]() [1/2]

Constraint irafhy::Constraints::operator[] ( std::size_t  index)

get the specified constraint

Parameters
indexthe index of the target constraint
Returns
resulting constraint

References dimension_, and inequalities_.

◆ operator[]() [2/2]

const Constraint & irafhy::Constraints::operator[] ( std::size_t  index) const

get the specified constraint

Parameters
indexthe index of the target constraint
Returns
resulting constraint

References inequalities_.

◆ size()

std::size_t irafhy::Constraints::size ( ) const

get the size of the inequalities

Returns
the size of the inequalities

References inequalities_.

Referenced by irafhy::CSPSolver::branchPruneSolve().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Constraints rhs 
)
friend

out the given constraints to standard out stream

Parameters
outgiven out stream
rhsgiven right hand side constraints
Returns
resulting out stream

Member Data Documentation

◆ dimension_

std::size_t irafhy::Constraints::dimension_ = 0
private

dimension of the system

Referenced by Constraints(), dimension(), and operator[]().

◆ inequalities_

std::vector<Constraint> irafhy::Constraints::inequalities_
private

constraints of the system

Referenced by Constraints(), isSatisfy(), irafhy::operator<<(), operator[](), and size().


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