Defines a class for the representation of an integration interval. Also defines some convenience generator functions. More...
#include <ostream>
#include "viennamath/forwards.h"
Go to the source code of this file.
Data Structures | |
class | rt_interval< InterfaceType > |
Represents an interval [a,b] at runtime. Note that the interval boundaries do not need to be constants. More... | |
Namespaces | |
namespace | viennamath |
The main ViennaMath namespace. All types and functions for the user reside here. | |
Functions | |
template<typename InterfaceType > | |
std::ostream & | operator<< (std::ostream &stream, rt_interval< InterfaceType > const &e) |
Convenience overload for streaming an interval to an output stream. | |
rt_interval | make_interval (default_numeric_type lhs, default_numeric_type rhs) |
Creates an interval with two numerical limits. | |
template<typename NumericT , typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (typename InterfaceType::numeric_type lhs, rt_constant< NumericT, InterfaceType > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath constant. | |
template<typename InterfaceType > | |
rt_interval< InterfaceType > | make_interval (typename InterfaceType::numeric_type lhs, rt_variable< InterfaceType > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath runtime variable. | |
template<id_type id> | |
rt_interval | make_interval (default_numeric_type lhs, ct_variable< id > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath compiletime variable. | |
template<typename InterfaceType > | |
rt_interval< InterfaceType > | make_interval (typename InterfaceType::numeric_type lhs, rt_unary_expr< InterfaceType > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath unary expression. | |
template<typename InterfaceType > | |
rt_interval< InterfaceType > | make_interval (typename InterfaceType::numeric_type lhs, rt_binary_expr< InterfaceType > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath binary expression. | |
template<typename InterfaceType > | |
rt_interval< InterfaceType > | make_interval (typename InterfaceType::numeric_type lhs, rt_expr< InterfaceType > const &rhs) |
Creates an interval, where the upper bound is given by a ViennaMath expression wrapper. | |
template<typename NumericT , typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_constant< NumericT, InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime constant. | |
template<typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_variable< InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime variable. | |
template<id_type id, typename RHSType > | |
rt_interval | make_interval (ct_variable< id > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath compiletime variable. | |
template<typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_function_symbol< InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime function symbol. | |
template<typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_unary_expr< InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime unary expression. | |
template<typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_binary_expr< InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime binary expression. | |
template<typename InterfaceType , typename RHSType > | |
rt_interval< InterfaceType > | make_interval (rt_expr< InterfaceType > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath runtime expression wrapper. | |
template<typename LHS , typename OP , typename RHS , typename RHSType > | |
rt_interval< typename RHSType::interface_type > | make_interval (ct_binary_expr< LHS, OP, RHS > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath compiletime binary expression. | |
template<typename LHS , typename OP , typename RHSType > | |
rt_interval< typename RHSType::interface_type > | make_interval (ct_unary_expr< LHS, OP > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath compiletime unary expression. | |
template<long val, typename RHSType > | |
rt_interval< typename RHSType::interface_type > | make_interval (ct_constant< val > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath compiletime constant. | |
template<typename TAG , typename RHSType > | |
rt_interval< typename RHSType::interface_type > | make_interval (ct_function_symbol< TAG > const &lhs, RHSType const &rhs) |
Creates an interval, where the lower bound is given by a ViennaMath compiletime function symbol. |
Defines a class for the representation of an integration interval. Also defines some convenience generator functions.