MAGE  v0.171.0
Matthias Advanced Game Engine
mage::Hyperbolic< T, typename > Struct Template Reference

#include <hyperbolic.hpp>

Inheritance diagram for mage::Hyperbolic< T, typename >:
mage::Array< T, 2u >

Public Member Functions

constexpr Hyperbolic (T xy=T(0)) noexcept
 
constexpr Hyperbolic (T x, T y) noexcept
 
constexpr Hyperbolic (const Hyperbolic &v) noexcept=default
 
constexpr Hyperbolic (Hyperbolic &&v) noexcept=default
 
template<typename U >
constexpr Hyperbolic (const Hyperbolic< U > &v) noexcept
 
 ~Hyperbolic ()=default
 
Hyperbolicoperator= (const Hyperbolic &v) noexcept=default
 
Hyperbolicoperator= (Hyperbolic &&v) noexcept=default
 
T & Re () noexcept
 
constexpr const T Re () const noexcept
 
T & Im () noexcept
 
constexpr const T Im () const noexcept
 
constexpr const Hyperbolic operator+ () const noexcept
 
constexpr const Hyperbolic operator- () const noexcept
 
constexpr const Hyperbolic operator+ (const Hyperbolic &v) const noexcept
 
constexpr const Hyperbolic operator- (const Hyperbolic &v) const noexcept
 
constexpr const Hyperbolic operator* (const Hyperbolic &v) const noexcept
 
constexpr const Hyperbolic operator+ (T a) const noexcept
 
constexpr const Hyperbolic operator- (T a) const noexcept
 
constexpr const Hyperbolic operator* (T a) const noexcept
 
constexpr const Hyperbolic operator/ (T a) const noexcept
 
Hyperbolicoperator+= (const Hyperbolic &v) noexcept
 
Hyperbolicoperator-= (const Hyperbolic &v) noexcept
 
Hyperbolicoperator*= (const Hyperbolic &v) noexcept
 
Hyperbolicoperator+= (T a) noexcept
 
Hyperbolicoperator-= (T a) noexcept
 
Hyperbolicoperator*= (T a) noexcept
 
Hyperbolicoperator/= (T a) noexcept
 
constexpr bool operator== (const Hyperbolic &v) const
 
constexpr bool operator!= (const Hyperbolic &v) const
 
constexpr const Hyperbolic Conjugate () const noexcept
 
constexpr const T Modulus () const noexcept
 
- Public Member Functions inherited from mage::Array< T, 2u >
constexpr Array () noexcept
 
constexpr Array (const T &value) noexcept
 
constexpr Array (ArgsT &&... args) noexcept
 
constexpr Array (const Array< T, FromN, alignof(T) > &a) noexcept
 
constexpr Array (const Array< T, FromN, FromA > &a) noexcept
 
constexpr Array (const Array< T, FromN, alignof(T) > &a, ArgsT &&... args) noexcept
 
constexpr Array (const Array< T, FromN, FromA > &a, ArgsT &&... args) noexcept
 
constexpr Array (const Array &a) noexcept=default
 
constexpr Array (Array &&a) noexcept=default
 
constexpr Array (const Array< FromT, N, FromA > &a) noexcept
 
 ~Array ()=default
 
Arrayoperator= (const Array &a) noexcept=default
 
Arrayoperator= (Array &&a) noexcept=default
 

Additional Inherited Members

- Static Public Attributes inherited from mage::Array< T, 2u >
static constexpr std::size_t s_size
 

Constructor & Destructor Documentation

◆ Hyperbolic() [1/5]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr mage::Hyperbolic< T, typename >::Hyperbolic ( xy = T(0))
explicitnoexcept

◆ Hyperbolic() [2/5]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr mage::Hyperbolic< T, typename >::Hyperbolic ( x,
y 
)
noexcept

◆ Hyperbolic() [3/5]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr mage::Hyperbolic< T, typename >::Hyperbolic ( const Hyperbolic< T, typename > &  v)
defaultnoexcept

◆ Hyperbolic() [4/5]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr mage::Hyperbolic< T, typename >::Hyperbolic ( Hyperbolic< T, typename > &&  v)
defaultnoexcept

◆ Hyperbolic() [5/5]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
template<typename U >
constexpr mage::Hyperbolic< T, typename >::Hyperbolic ( const Hyperbolic< U > &  v)
explicitnoexcept

◆ ~Hyperbolic()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
mage::Hyperbolic< T, typename >::~Hyperbolic ( )
default

Member Function Documentation

◆ Conjugate()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::Conjugate ( ) const
noexcept

◆ Im() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
T& mage::Hyperbolic< T, typename >::Im ( )
noexcept

◆ Im() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const T mage::Hyperbolic< T, typename >::Im ( ) const
noexcept

◆ Modulus()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const T mage::Hyperbolic< T, typename >::Modulus ( ) const
noexcept

◆ operator!=()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr bool mage::Hyperbolic< T, typename >::operator!= ( const Hyperbolic< T, typename > &  v) const

◆ operator*() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator* ( const Hyperbolic< T, typename > &  v) const
noexcept

◆ operator*() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator* ( a) const
noexcept

◆ operator*=() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator*= ( const Hyperbolic< T, typename > &  v)
noexcept

◆ operator*=() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator*= ( a)
noexcept

◆ operator+() [1/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator+ ( ) const
noexcept

◆ operator+() [2/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator+ ( const Hyperbolic< T, typename > &  v) const
noexcept

◆ operator+() [3/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator+ ( a) const
noexcept

◆ operator+=() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator+= ( const Hyperbolic< T, typename > &  v)
noexcept

◆ operator+=() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator+= ( a)
noexcept

◆ operator-() [1/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator- ( ) const
noexcept

◆ operator-() [2/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator- ( const Hyperbolic< T, typename > &  v) const
noexcept

◆ operator-() [3/3]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator- ( a) const
noexcept

◆ operator-=() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator-= ( const Hyperbolic< T, typename > &  v)
noexcept

◆ operator-=() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator-= ( a)
noexcept

◆ operator/()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const Hyperbolic mage::Hyperbolic< T, typename >::operator/ ( a) const
noexcept

◆ operator/=()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator/= ( a)
noexcept

◆ operator=() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator= ( const Hyperbolic< T, typename > &  v)
defaultnoexcept

◆ operator=() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
Hyperbolic& mage::Hyperbolic< T, typename >::operator= ( Hyperbolic< T, typename > &&  v)
defaultnoexcept

◆ operator==()

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr bool mage::Hyperbolic< T, typename >::operator== ( const Hyperbolic< T, typename > &  v) const

◆ Re() [1/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
T& mage::Hyperbolic< T, typename >::Re ( )
noexcept

◆ Re() [2/2]

template<typename T , typename = std::enable_if_t< std::is_floating_point_v< T > >>
constexpr const T mage::Hyperbolic< T, typename >::Re ( ) const
noexcept