WPILibC++ 2025.1.1
Loading...
Searching...
No Matches
sleipnir::detail Namespace Reference

Classes

struct  Expression
 An autodiff expression node. More...
 
class  ExpressionGraph
 This class is an adaptor type that performs value updates of an expression's computational graph in a way that skips duplicates. More...
 

Typedefs

using ExpressionPtr = IntrusiveSharedPtr<Expression>
 Typedef for intrusive shared pointer to Expression.
 

Functions

void IntrusiveSharedPtrIncRefCount (Expression *expr)
 Refcount increment for intrusive shared pointer.
 
void IntrusiveSharedPtrDecRefCount (Expression *expr)
 Refcount decrement for intrusive shared pointer.
 
template<typename... Args>
static ExpressionPtr MakeExpressionPtr (Args &&... args)
 Creates an intrusive shared pointer to an expression from the global pool allocator.
 
SLEIPNIR_DLLEXPORT ExpressionPtr exp ( const ExpressionPtr &x)
 std::exp() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr sin ( const ExpressionPtr &x)
 std::sin() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr sinh (const ExpressionPtr &x)
 std::sinh() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr sqrt ( const ExpressionPtr &x)
 std::sqrt() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr abs (const ExpressionPtr &x)
 std::abs() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr acos (const ExpressionPtr &x)
 std::acos() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr asin (const ExpressionPtr &x)
 std::asin() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr atan (const ExpressionPtr &x)
 std::atan() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr atan2 (const ExpressionPtr &y, const ExpressionPtr &x)
 std::atan2() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr cos (const ExpressionPtr &x)
 std::cos() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr cosh (const ExpressionPtr &x)
 std::cosh() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr erf (const ExpressionPtr &x)
 std::erf() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr hypot (const ExpressionPtr &x, const ExpressionPtr &y)
 std::hypot() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr log (const ExpressionPtr &x)
 std::log() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr log10 (const ExpressionPtr &x)
 std::log10() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr pow (const ExpressionPtr &base, const ExpressionPtr &power)
 std::pow() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr sign (const ExpressionPtr &x)
 sign() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr tan (const ExpressionPtr &x)
 std::tan() for Expressions.
 
SLEIPNIR_DLLEXPORT ExpressionPtr tanh (const ExpressionPtr &x)
 std::tanh() for Expressions.
 

Variables

constexpr bool kUsePoolAllocator = true
 
struct SLEIPNIR_DLLEXPORT Expression
 

Typedef Documentation

◆ ExpressionPtr

Typedef for intrusive shared pointer to Expression.

Function Documentation

◆ abs()

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

std::abs() for Expressions.

Parameters
xThe argument.

◆ acos()

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

std::acos() for Expressions.

Parameters
xThe argument.

◆ asin()

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

std::asin() for Expressions.

Parameters
xThe argument.

◆ atan()

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

std::atan() for Expressions.

Parameters
xThe argument.

◆ atan2()

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

std::atan2() for Expressions.

Parameters
yThe y argument.
xThe x argument.

◆ cos()

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

std::cos() for Expressions.

Parameters
xThe argument.

◆ cosh()

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

std::cosh() for Expressions.

Parameters
xThe argument.

◆ erf()

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

std::erf() for Expressions.

Parameters
xThe argument.

◆ exp()

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

std::exp() for Expressions.

Parameters
xThe argument.

◆ hypot()

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

std::hypot() for Expressions.

Parameters
xThe x argument.
yThe y argument.

◆ IntrusiveSharedPtrDecRefCount()

void sleipnir::detail::IntrusiveSharedPtrDecRefCount ( Expression * expr)
inline

Refcount decrement for intrusive shared pointer.

Parameters
exprThe shared pointer's managed object.

◆ IntrusiveSharedPtrIncRefCount()

void sleipnir::detail::IntrusiveSharedPtrIncRefCount ( Expression * expr)
inline

Refcount increment for intrusive shared pointer.

Parameters
exprThe shared pointer's managed object.

◆ log()

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

std::log() for Expressions.

Parameters
xThe argument.

◆ log10()

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

std::log10() for Expressions.

Parameters
xThe argument.

◆ MakeExpressionPtr()

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

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

Parameters
argsConstructor arguments for Expression.

◆ pow()

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

std::pow() for Expressions.

Parameters
baseThe base.
powerThe power.

◆ sign()

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

sign() for Expressions.

Parameters
xThe argument.

◆ sin()

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

std::sin() for Expressions.

Parameters
xThe argument.

◆ sinh()

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

std::sinh() for Expressions.

Parameters
xThe argument.

◆ sqrt()

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

std::sqrt() for Expressions.

Parameters
xThe argument.

◆ tan()

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

std::tan() for Expressions.

Parameters
xThe argument.

◆ tanh()

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

std::tanh() for Expressions.

Parameters
xThe argument.

Variable Documentation

◆ Expression

struct SLEIPNIR_DLLEXPORT sleipnir::detail::Expression

◆ kUsePoolAllocator

bool sleipnir::detail::kUsePoolAllocator = true
inlineconstexpr