WPILibC++ 2025.1.1
Loading...
Searching...
No Matches
Expression.hpp File Reference
#include <stdint.h>
#include <algorithm>
#include <array>
#include <cmath>
#include <memory>
#include <numbers>
#include <utility>
#include <wpi/SmallVector.h>
#include "sleipnir/autodiff/ExpressionType.hpp"
#include "sleipnir/util/IntrusiveSharedPtr.hpp"
#include "sleipnir/util/Pool.hpp"
#include "sleipnir/util/SymbolExports.hpp"

Go to the source code of this file.

Classes

struct  sleipnir::detail::Expression
 An autodiff expression node. More...
 

Namespaces

namespace  sleipnir
 
namespace  sleipnir::detail
 

Typedefs

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

Functions

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

Variables

constexpr bool sleipnir::detail::kUsePoolAllocator = true
 
struct SLEIPNIR_DLLEXPORT sleipnir::detail::Expression