Namespace sym::scalar#

namespace scalar
template<typename T>
struct GroupOps
#include <group_ops.h>

C++ GroupOps implementation for scalars.

Public Types

using Scalar = T

Public Static Functions

static inline T Identity()
static inline T Inverse(const T &a)
static inline T Compose(const T &a, const T &b)
static inline T Between(const T &a, const T &b)
template<typename T>
struct LieGroupOps : public sym::internal::LieGroupOpsBase<T, T>
#include <lie_group_ops.h>

C++ LieGroupOps implementation for scalars.

Subclassed by sym::LieGroupOps< double >, sym::LieGroupOps< float >

Public Types

using Scalar = T
using TangentVec = Eigen::Matrix<T, 1, 1>

Public Static Functions

static inline constexpr int32_t TangentDim()
static inline T FromTangent(const TangentVec &vec, const T epsilon)
static inline TangentVec ToTangent(const T &a, const T epsilon)
static inline T Retract(const T &a, const TangentVec &vec, const T epsilon)
static inline TangentVec LocalCoordinates(const T &a, const T &b, const T epsilon)
static inline T Interpolate(const T &a, const T &b, const T alpha, const T epsilon)
template<typename ScalarType>
struct StorageOps
#include <storage_ops.h>

C++ StorageOps implementation for scalars.

Subclassed by sym::StorageOps< double >, sym::StorageOps< float >

Public Types

using Scalar = ScalarType

Public Static Functions

static inline constexpr int32_t StorageDim()
static inline void ToStorage(const ScalarType &a, ScalarType *out)
static inline ScalarType FromStorage(const ScalarType *data)
static inline constexpr type_t TypeEnum()
template<typename Generator>
static inline Scalar Random(Generator &gen)