Data Structures | Namespaces | Functions

/export/development/ViennaMath/viennamath/runtime/interval.hpp File Reference

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.

Detailed Description

Defines a class for the representation of an integration interval. Also defines some convenience generator functions.