Sleipnir C++ API
Loading...
Searching...
No Matches
sleipnir::detail Namespace Reference

Classes

struct  AbsExpression
 
struct  AcosExpression
 
struct  AsinExpression
 
struct  Atan2Expression
 
struct  AtanExpression
 
struct  BinaryMinusExpression
 
struct  BinaryPlusExpression
 
struct  ConstExpression
 
struct  CosExpression
 
struct  CoshExpression
 
struct  DecisionVariableExpression
 
struct  DivExpression
 
struct  ErfExpression
 
struct  ExpExpression
 
struct  Expression
 
class  ExpressionGraph
 
struct  HypotExpression
 
struct  Log10Expression
 
struct  LogExpression
 
struct  MultExpression
 
struct  PowExpression
 
struct  SignExpression
 
struct  SinExpression
 
struct  SinhExpression
 
struct  SqrtExpression
 
struct  TanExpression
 
struct  TanhExpression
 
struct  UnaryMinusExpression
 

Typedefs

using ExpressionPtr = IntrusiveSharedPtr< Expression >
 

Functions

constexpr void IntrusiveSharedPtrIncRefCount (Expression *expr)
 
constexpr void IntrusiveSharedPtrDecRefCount (Expression *expr)
 
template<typename T , typename... Args>
static ExpressionPtr MakeExpressionPtr (Args &&... args)
 
ExpressionPtr exp (const ExpressionPtr &x)
 
ExpressionPtr sin (const ExpressionPtr &x)
 
ExpressionPtr sinh (const ExpressionPtr &x)
 
ExpressionPtr sqrt (const ExpressionPtr &x)
 
ExpressionPtr abs (const ExpressionPtr &x)
 
ExpressionPtr acos (const ExpressionPtr &x)
 
ExpressionPtr asin (const ExpressionPtr &x)
 
ExpressionPtr atan (const ExpressionPtr &x)
 
ExpressionPtr atan2 (const ExpressionPtr &y, const ExpressionPtr &x)
 
ExpressionPtr cos (const ExpressionPtr &x)
 
ExpressionPtr cosh (const ExpressionPtr &x)
 
ExpressionPtr erf (const ExpressionPtr &x)
 
ExpressionPtr hypot (const ExpressionPtr &x, const ExpressionPtr &y)
 
ExpressionPtr log (const ExpressionPtr &x)
 
ExpressionPtr log10 (const ExpressionPtr &x)
 
ExpressionPtr pow (const ExpressionPtr &base, const ExpressionPtr &power)
 
ExpressionPtr sign (const ExpressionPtr &x)
 
ExpressionPtr tan (const ExpressionPtr &x)
 
ExpressionPtr tanh (const ExpressionPtr &x)
 

Variables

constexpr bool kUsePoolAllocator = true
 

Typedef Documentation

◆ ExpressionPtr

Function Documentation

◆ abs()

ExpressionPtr sleipnir::detail::abs ( const ExpressionPtr x)
inline

std::abs() for Expressions.

Parameters
xThe argument.

◆ acos()

ExpressionPtr sleipnir::detail::acos ( const ExpressionPtr x)
inline

std::acos() for Expressions.

Parameters
xThe argument.

◆ asin()

ExpressionPtr sleipnir::detail::asin ( const ExpressionPtr x)
inline

std::asin() for Expressions.

Parameters
xThe argument.

◆ atan()

ExpressionPtr sleipnir::detail::atan ( const ExpressionPtr x)
inline

std::atan() for Expressions.

Parameters
xThe argument.

◆ atan2()

ExpressionPtr sleipnir::detail::atan2 ( const ExpressionPtr y,
const ExpressionPtr x 
)
inline

std::atan2() for Expressions.

Parameters
yThe y argument.
xThe x argument.

◆ cos()

ExpressionPtr sleipnir::detail::cos ( const ExpressionPtr x)
inline

std::cos() for Expressions.

Parameters
xThe argument.

◆ cosh()

ExpressionPtr sleipnir::detail::cosh ( const ExpressionPtr x)
inline

std::cosh() for Expressions.

Parameters
xThe argument.

◆ erf()

ExpressionPtr sleipnir::detail::erf ( const ExpressionPtr x)
inline

std::erf() for Expressions.

Parameters
xThe argument.

◆ exp()

ExpressionPtr sleipnir::detail::exp ( const ExpressionPtr x)
inline

std::exp() for Expressions.

Parameters
xThe argument.

◆ hypot()

ExpressionPtr sleipnir::detail::hypot ( const ExpressionPtr x,
const ExpressionPtr y 
)
inline

std::hypot() for Expressions.

Parameters
xThe x argument.
yThe y argument.

◆ IntrusiveSharedPtrDecRefCount()

constexpr void sleipnir::detail::IntrusiveSharedPtrDecRefCount ( Expression expr)
inlineconstexpr

Refcount decrement for intrusive shared pointer.

Parameters
exprThe shared pointer's managed object.

◆ IntrusiveSharedPtrIncRefCount()

constexpr void sleipnir::detail::IntrusiveSharedPtrIncRefCount ( Expression expr)
inlineconstexpr

Refcount increment for intrusive shared pointer.

Parameters
exprThe shared pointer's managed object.

◆ log()

ExpressionPtr sleipnir::detail::log ( const ExpressionPtr x)
inline

std::log() for Expressions.

Parameters
xThe argument.

◆ log10()

ExpressionPtr sleipnir::detail::log10 ( const ExpressionPtr x)
inline

std::log10() for Expressions.

Parameters
xThe argument.

◆ MakeExpressionPtr()

template<typename T , typename... Args>
static ExpressionPtr sleipnir::detail::MakeExpressionPtr ( Args &&...  args)
static

Creates an intrusive shared pointer to an expression from the global pool allocator.

Template Parameters
TThe derived expression type.
Parameters
argsConstructor arguments for Expression.

◆ pow()

ExpressionPtr sleipnir::detail::pow ( const ExpressionPtr base,
const ExpressionPtr power 
)
inline

std::pow() for Expressions.

Parameters
baseThe base.
powerThe power.

◆ sign()

ExpressionPtr sleipnir::detail::sign ( const ExpressionPtr x)
inline

sign() for Expressions.

Parameters
xThe argument.

◆ sin()

ExpressionPtr sleipnir::detail::sin ( const ExpressionPtr x)
inline

std::sin() for Expressions.

Parameters
xThe argument.

◆ sinh()

ExpressionPtr sleipnir::detail::sinh ( const ExpressionPtr x)
inline

std::sinh() for Expressions.

Parameters
xThe argument.

◆ sqrt()

ExpressionPtr sleipnir::detail::sqrt ( const ExpressionPtr x)
inline

std::sqrt() for Expressions.

Parameters
xThe argument.

◆ tan()

ExpressionPtr sleipnir::detail::tan ( const ExpressionPtr x)
inline

std::tan() for Expressions.

Parameters
xThe argument.

◆ tanh()

ExpressionPtr sleipnir::detail::tanh ( const ExpressionPtr x)
inline

std::tanh() for Expressions.

Parameters
xThe argument.

Variable Documentation

◆ kUsePoolAllocator

constexpr bool sleipnir::detail::kUsePoolAllocator = true
inlineconstexpr