Template Class Dual#

Class Documentation#

template<typename T>
class Dual#

Public Types

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

Public Functions

Dual() = default#
inline explicit Dual(T value)#
inline Dual(T value, T derivative)#
template<typename U>
inline explicit Dual(const Dual<U> &other)#
template<typename U>
inline explicit Dual(Dual<U> &&other)#
template<typename U>
inline Dual &operator=(const Dual<U> &other)#
template<typename U>
inline Dual &operator=(Dual<U> &&other)#
template<typename P>
inline void store(P *ptr) const#
template<typename P>
inline void load(const P *ptr)#
inline Dual operator+=(const Dual &other)#
inline Dual operator-=(const Dual &other)#
inline Dual operator*=(const Dual &other)#
inline Dual operator/=(const Dual &other)#
inline Dual operator+=(const T &other)#
inline Dual operator-=(const T &other)#
inline Dual operator*=(const T &other)#
inline Dual operator/=(const T &other)#
inline std::string str(const std::string &format = "{}") const#

Public Members

T value#
T derivative#

Public Static Functions

static inline constexpr size_t size()#