irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
unaryItem.h
Go to the documentation of this file.
1 #ifndef REPRESENTATION_FORMAL_BASIC_ENTITY_UNARY_ITEM_H
2 #define REPRESENTATION_FORMAL_BASIC_ENTITY_UNARY_ITEM_H
3 
4 #include <memory>
5 #include <capd/capdlib.h>
7 
8 namespace irafhy
9 {
10  class Item;
11 
12  class UnaryItem
13  {
14  private:
18  std::shared_ptr<Item> operand_;
23 
24  public:
28  UnaryItem() = default;
34  UnaryItem(const Item& operand, const UNARY& unaryOperator);
38  ~UnaryItem() = default;
43  [[nodiscard]] std::function<
44  capd::autodiff::Node(capd::autodiff::Node, capd::autodiff::Node[], int, capd::autodiff::Node[], int)>
45  arithmetic() const;
53  capd::interval value(const capd::interval& t,
54  const std::vector<capd::interval>& in,
55  const std::vector<capd::interval>& params);
62  friend std::ostream& operator<<(std::ostream& out, const UnaryItem& rhs);
63  };
64 } // namespace irafhy
65 #endif //REPRESENTATION_FORMAL_BASIC_ENTITY_UNARY_ITEM_H
Definition: item.h:20
std::shared_ptr< Item > operand_
pointer to the operand
Definition: unaryItem.h:18
UnaryItem()=default
constructor
std::function< capd::autodiff::Node(capd::autodiff::Node, capd::autodiff::Node[], int, capd::autodiff::Node[], int)> arithmetic() const
get the arithmetic function of the unary item
Definition: unaryItem.cpp:13
UNARY
supported unary math functions
Definition: enum.h:18
friend std::ostream & operator<<(std::ostream &out, const UnaryItem &rhs)
out the given unary item to standard out stream
Definition: unaryItem.cpp:317
capd::interval value(const capd::interval &t, const std::vector< capd::interval > &in, const std::vector< capd::interval > &params)
get the value of the current unary item
Definition: unaryItem.cpp:261
Definition: condition.cpp:3
UNARY operator_
what kind of operation of the unary item indicates
Definition: unaryItem.h:22
Definition: unaryItem.h:12
~UnaryItem()=default
destructor