limes 3.1.0
Composable Calculus Expressions for C++20
Loading...
Searching...
No Matches
primitives.hpp File Reference
#include <span>
#include <string>
#include <string_view>
#include <cstddef>
#include <cmath>
#include "binary.hpp"
#include "unary.hpp"
+ Include dependency graph for primitives.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  limes::expr::ExpTag
 
struct  limes::expr::LogTag
 
struct  limes::expr::SinTag
 
struct  limes::expr::CosTag
 
struct  limes::expr::SqrtTag
 
struct  limes::expr::AbsTag
 
struct  limes::expr::TanTag
 
struct  limes::expr::SinhTag
 
struct  limes::expr::CoshTag
 
struct  limes::expr::TanhTag
 
struct  limes::expr::AsinTag
 
struct  limes::expr::AcosTag
 
struct  limes::expr::AtanTag
 
struct  limes::expr::AsinhTag
 
struct  limes::expr::AcoshTag
 
struct  limes::expr::AtanhTag
 
struct  limes::expr::UnaryFunc< Tag, E >
 

Namespaces

namespace  limes
 
namespace  limes::expr
 Expression layer for composable calculus.
 
namespace  limes::expr::detail
 

Typedefs

template<typename E >
using limes::expr::Exp = UnaryFunc< ExpTag, E >
 
template<typename E >
using limes::expr::Log = UnaryFunc< LogTag, E >
 
template<typename E >
using limes::expr::Sin = UnaryFunc< SinTag, E >
 
template<typename E >
using limes::expr::Cos = UnaryFunc< CosTag, E >
 
template<typename E >
using limes::expr::Sqrt = UnaryFunc< SqrtTag, E >
 
template<typename E >
using limes::expr::Abs = UnaryFunc< AbsTag, E >
 
template<typename E >
using limes::expr::Tan = UnaryFunc< TanTag, E >
 
template<typename E >
using limes::expr::Sinh = UnaryFunc< SinhTag, E >
 
template<typename E >
using limes::expr::Cosh = UnaryFunc< CoshTag, E >
 
template<typename E >
using limes::expr::Tanh = UnaryFunc< TanhTag, E >
 
template<typename E >
using limes::expr::Asin = UnaryFunc< AsinTag, E >
 
template<typename E >
using limes::expr::Acos = UnaryFunc< AcosTag, E >
 
template<typename E >
using limes::expr::Atan = UnaryFunc< AtanTag, E >
 
template<typename E >
using limes::expr::Asinh = UnaryFunc< AsinhTag, E >
 
template<typename E >
using limes::expr::Acosh = UnaryFunc< AcoshTag, E >
 
template<typename E >
using limes::expr::Atanh = UnaryFunc< AtanhTag, E >
 

Functions

template<typename Tag >
constexpr std::string_view limes::expr::detail::tag_name ()
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::exp (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::log (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::sin (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::cos (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::sqrt (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::abs (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::tan (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::sinh (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::cosh (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::tanh (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::asin (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::acos (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::atan (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::asinh (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::acosh (E e)
 
template<typename E >
requires is_expr_node_v<E>
constexpr auto limes::expr::atanh (E e)