Template Class Dual#

Class Documentation#

template<typename T>
class Dual#

Public Types

using Scalar = typename typetraits::TypeInfo<T>::Scalar#
using Packet = typename typetraits::TypeInfo<T>::Packet#

Public Functions

Dual() = default#
inline explicit Dual(Scalar value)#
inline Dual(Scalar value, Scalar derivative)#
template<typename U>
inline explicit Dual(const Dual<U> &other)#
template<typename U>
inline explicit Dual(Dual<U> &&other)#
template<typename U>
inline auto operator=(const Dual<U> &other) -> Dual&#
template<typename U>
inline auto operator=(Dual<U> &&other) -> Dual&#
inline auto operator+=(const Dual &other) -> Dual&#
inline auto operator-=(const Dual &other) -> Dual&#
inline auto operator*=(const Dual &other) -> Dual&#
inline auto operator/=(const Dual &other) -> Dual&#
inline auto operator+=(const T &other) -> Dual&#
inline auto operator-=(const T &other) -> Dual&#
inline auto operator*=(const T &other) -> Dual&#
inline auto operator/=(const T &other) -> Dual&#
template<typename T_, typename Char, typename Ctx>
inline void str(const fmt::formatter<T_, Char> &format, Ctx &ctx) const#

Public Members

Scalar value#
Scalar derivative#

Public Static Functions

static inline constexpr auto size() -> size_t#

Public Static Attributes

static constexpr uint64_t packetWidth = typetraits::TypeInfo<T>::packetWidth#