|
Graph Framework
|
Nodes for boolean logic. More...
#include "node.hpp"Go to the source code of this file.
Classes | |
| class | graph::isinf_node< T, SAFE_MATH > |
| isinf node. More... | |
| class | graph::isnan_node< T, SAFE_MATH > |
| isnan node. More... | |
| class | graph::not_node< T, SAFE_MATH > |
| Not node. More... | |
| class | graph::equal_node< T, SAFE_MATH > |
| An equal node. More... | |
| class | graph::not_equal_node< T, SAFE_MATH > |
| A not equal node. More... | |
| class | graph::greater_than_node< T, SAFE_MATH > |
| A greater than node. More... | |
| class | graph::less_than_node< T, SAFE_MATH > |
| A less than node. More... | |
| class | graph::greater_than_equal_node< T, SAFE_MATH > |
| A greater than equal node. More... | |
| class | graph::less_than_equal_node< T, SAFE_MATH > |
| A less than equal node. More... | |
| class | graph::and_node< T, SAFE_MATH > |
| A and node. More... | |
| class | graph::or_node< T, SAFE_MATH > |
| A or node. More... | |
| class | graph::if_node< T, SAFE_MATH > |
| An If conditional node. More... | |
| class | graph::min_node< T, SAFE_MATH > |
| A Min node. More... | |
Namespaces | |
| namespace | graph |
| Name space for graph nodes. | |
Typedefs | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_isinf = std::shared_ptr< isinf_node< T, SAFE_MATH > > |
| Convenience type alias for shared isinf nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_isnan = std::shared_ptr< isnan_node< T, SAFE_MATH > > |
| Convenience type alias for shared isnan nodes. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| using | graph::shared_not = std::shared_ptr< not_node< T, SAFE_MATH > > |
| Convenience type alias for shared not nodes. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| using | graph::shared_equal = std::shared_ptr< equal_node< T, SAFE_MATH > > |
| Convenience type alias for shared equal nodes. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| using | graph::shared_not_equal = std::shared_ptr< not_equal_node< T, SAFE_MATH > > |
| Convenience type alias for shared not equal nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_greater_than = std::shared_ptr< greater_than_node< T, SAFE_MATH > > |
| Convenience type alias for shared greater than nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_less_than = std::shared_ptr< less_than_node< T, SAFE_MATH > > |
| Convenience type alias for shared less than nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_greater_than_equal = std::shared_ptr< greater_than_equal_node< T, SAFE_MATH > > |
| Convenience type alias for shared greater than equal nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_less_than_equal = std::shared_ptr< less_than_equal_node< T, SAFE_MATH > > |
| Convenience type alias for shared less than equal nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_and = std::shared_ptr< and_node< T, SAFE_MATH > > |
| Convenience type alias for shared and nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_or = std::shared_ptr< or_node< T, SAFE_MATH > > |
| Convenience type alias for shared or nodes. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| using | graph::shared_if = std::shared_ptr< if_node< T, SAFE_MATH > > |
| Convenience type alias for shared add nodes. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| using | graph::shared_min = std::shared_ptr< min_node< T, SAFE_MATH > > |
| Convenience type alias for shared min nodes. | |
Functions | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| constexpr shared_leaf< T, SAFE_MATH > | graph::true_constant () |
| Convenience type for true constant. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| constexpr shared_leaf< T, SAFE_MATH > | graph::false_constant () |
| Convenience type for false constant. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::isinf (shared_leaf< T, SAFE_MATH > arg) |
| Build not node from the argument leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_isinf< T, SAFE_MATH > | graph::isinf_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a isinf node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::isnan (shared_leaf< T, SAFE_MATH > arg) |
| Build isnan node from the argument leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_isnan< T, SAFE_MATH > | graph::isnan_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to an isnan node. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::not_ (shared_leaf< T, SAFE_MATH > arg) |
| Build not node from the argument leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator! (shared_leaf< T, SAFE_MATH > arg) |
| Build not node from two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_not< T, SAFE_MATH > | graph::not_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a not node. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::equal (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build equal node from two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator== (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build equal node from two leaves. | |
| template<jit::float_scalar T, jit::float_scalar L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator== (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build equal node from two leaves. | |
| template<jit::float_scalar T, jit::float_scalar R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator== (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build equal node from two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_equal< T, SAFE_MATH > | graph::equal_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a equal node. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::not_equal (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build note equal node from two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator!= (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build not equal node from two leaves. | |
| template<jit::float_scalar T, jit::float_scalar L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator!= (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build not equal node from two leaves. | |
| template<jit::float_scalar T, jit::float_scalar R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator!= (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build not equal node from two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_not_equal< T, SAFE_MATH > | graph::not_equal_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a equal node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::greater_than (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator> (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than node from two leaves. | |
| template<std::floating_point T, std::floating_point L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator> (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than node from two leaves. | |
| template<std::floating_point T, std::floating_point R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator> (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build greater than node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_greater_than< T, SAFE_MATH > | graph::greater_than_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a greater than node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::less_than (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build less than node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator< (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build less than node from two leaves. | |
| template<std::floating_point T, std::floating_point L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator< (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build less than node from two leaves. | |
| template<std::floating_point T, std::floating_point R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator< (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build less than node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_less_than< T, SAFE_MATH > | graph::less_than_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a less than node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::greater_than_equal (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than equal node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator>= (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than equal node from two leaves. | |
| template<std::floating_point T, std::floating_point L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator>= (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build greater than equal node from two leaves. | |
| template<std::floating_point T, std::floating_point R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator>= (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build greater than equal node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_greater_than_equal< T, SAFE_MATH > | graph::greater_than_equal_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a greater than equal node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::less_than_equal (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build less than equal node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator<= (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build less than equal node from two leaves. | |
| template<std::floating_point T, std::floating_point L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator<= (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build less than equal node from two leaves. | |
| template<std::floating_point T, std::floating_point R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator<= (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build less than equal node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_less_than_equal< T, SAFE_MATH > | graph::less_than_equal_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a less than equal node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::and_ (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build and node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator&& (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build and node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator&& (const bool l, shared_leaf< T, SAFE_MATH > r) |
| Build and node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator&& (shared_leaf< T, SAFE_MATH > l, const bool r) |
| Build and node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_and< T, SAFE_MATH > | graph::and_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to an and node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::or_ (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build or node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator|| (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build or node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator|| (const bool l, shared_leaf< T, SAFE_MATH > r) |
| Build or node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::operator|| (shared_leaf< T, SAFE_MATH > l, const bool r) |
| Build or node from two leaves. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_or< T, SAFE_MATH > | graph::or_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to a or node. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::if_ (shared_leaf< T, SAFE_MATH > c, shared_leaf< T, SAFE_MATH > t, shared_leaf< T, SAFE_MATH > f) |
| Build an if node from a condition and two leaves. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_if< T, SAFE_MATH > | graph::if_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to an if node. | |
| template<std::floating_point T, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::min (shared_leaf< T, SAFE_MATH > l, shared_leaf< T, SAFE_MATH > r) |
| Build a max node from a condition and two leaves. | |
| template<std::floating_point T, jit::float_scalar L, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::min (const L l, shared_leaf< T, SAFE_MATH > r) |
| Build min node. | |
| template<std::floating_point T, jit::float_scalar R, bool SAFE_MATH = false> | |
| shared_leaf< T, SAFE_MATH > | graph::min (shared_leaf< T, SAFE_MATH > l, const R r) |
| Build min node. | |
| template<jit::float_scalar T, bool SAFE_MATH = false> | |
| shared_min< T, SAFE_MATH > | graph::min_cast (shared_leaf< T, SAFE_MATH > x) |
| Cast to an min node. | |
Nodes for boolean logic.
Defines a tree of operations that allows automatic differentiation.