xgboost
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
xgboost::detail::GradientPairInternal< T > Class Template Reference

Implementation of gradient statistics pair. Template specialisation may be used to overload different gradients types e.g. low precision, high precision, integer, floating point. More...

#include <base.h>

Collaboration diagram for xgboost::detail::GradientPairInternal< T >:
Collaboration graph

Public Types

using ValueT = T
 

Public Member Functions

void Add (const ValueT &grad, const ValueT &hess)
 
 GradientPairInternal ()=default
 
XGBOOST_DEVICE GradientPairInternal (T grad, T hess)
 
 GradientPairInternal (GradientPairInternal const &g)=default
 
 GradientPairInternal (GradientPairInternal &&g)=default
 
GradientPairInternaloperator= (GradientPairInternal const &that)=default
 
GradientPairInternaloperator= (GradientPairInternal &&that)=default
 
template<typename T2 >
XGBOOST_DEVICE GradientPairInternal (const GradientPairInternal< T2 > &g)
 
XGBOOST_DEVICEGetGrad () const
 
XGBOOST_DEVICEGetHess () const
 
XGBOOST_DEVICE GradientPairInternal< T > & operator+= (const GradientPairInternal< T > &rhs)
 
XGBOOST_DEVICE GradientPairInternal< T > operator+ (const GradientPairInternal< T > &rhs) const
 
XGBOOST_DEVICE GradientPairInternal< T > & operator-= (const GradientPairInternal< T > &rhs)
 
XGBOOST_DEVICE GradientPairInternal< T > operator- (const GradientPairInternal< T > &rhs) const
 
XGBOOST_DEVICE GradientPairInternal< T > & operator*= (float multiplier)
 
XGBOOST_DEVICE GradientPairInternal< T > operator* (float multiplier) const
 
XGBOOST_DEVICE GradientPairInternal< T > & operator/= (float divisor)
 
XGBOOST_DEVICE GradientPairInternal< T > operator/ (float divisor) const
 
XGBOOST_DEVICE bool operator== (const GradientPairInternal< T > &rhs) const
 
XGBOOST_DEVICE GradientPairInternal (int value)
 

Static Public Member Functions

static void Reduce (GradientPairInternal< T > &a, const GradientPairInternal< T > &b)
 

Friends

std::ostream & operator<< (std::ostream &os, const GradientPairInternal< T > &g)
 

Detailed Description

template<typename T>
class xgboost::detail::GradientPairInternal< T >

Implementation of gradient statistics pair. Template specialisation may be used to overload different gradients types e.g. low precision, high precision, integer, floating point.

Member Typedef Documentation

◆ ValueT

template<typename T >
using xgboost::detail::GradientPairInternal< T >::ValueT = T

Constructor & Destructor Documentation

◆ GradientPairInternal() [1/6]

template<typename T >
xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( )
default

◆ GradientPairInternal() [2/6]

template<typename T >
XGBOOST_DEVICE xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( grad,
hess 
)
inline

◆ GradientPairInternal() [3/6]

template<typename T >
xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( GradientPairInternal< T > const &  g)
default

◆ GradientPairInternal() [4/6]

template<typename T >
xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( GradientPairInternal< T > &&  g)
default

◆ GradientPairInternal() [5/6]

template<typename T >
template<typename T2 >
XGBOOST_DEVICE xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( const GradientPairInternal< T2 > &  g)
inlineexplicit

◆ GradientPairInternal() [6/6]

template<typename T >
XGBOOST_DEVICE xgboost::detail::GradientPairInternal< T >::GradientPairInternal ( int  value)
inlineexplicit

Member Function Documentation

◆ Add()

template<typename T >
void xgboost::detail::GradientPairInternal< T >::Add ( const ValueT grad,
const ValueT hess 
)
inline

◆ GetGrad()

template<typename T >
XGBOOST_DEVICE T xgboost::detail::GradientPairInternal< T >::GetGrad ( ) const
inline

◆ GetHess()

template<typename T >
XGBOOST_DEVICE T xgboost::detail::GradientPairInternal< T >::GetHess ( ) const
inline

◆ operator*()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T> xgboost::detail::GradientPairInternal< T >::operator* ( float  multiplier) const
inline

◆ operator*=()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T>& xgboost::detail::GradientPairInternal< T >::operator*= ( float  multiplier)
inline

◆ operator+()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T> xgboost::detail::GradientPairInternal< T >::operator+ ( const GradientPairInternal< T > &  rhs) const
inline

◆ operator+=()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T>& xgboost::detail::GradientPairInternal< T >::operator+= ( const GradientPairInternal< T > &  rhs)
inline

◆ operator-()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T> xgboost::detail::GradientPairInternal< T >::operator- ( const GradientPairInternal< T > &  rhs) const
inline

◆ operator-=()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T>& xgboost::detail::GradientPairInternal< T >::operator-= ( const GradientPairInternal< T > &  rhs)
inline

◆ operator/()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T> xgboost::detail::GradientPairInternal< T >::operator/ ( float  divisor) const
inline

◆ operator/=()

template<typename T >
XGBOOST_DEVICE GradientPairInternal<T>& xgboost::detail::GradientPairInternal< T >::operator/= ( float  divisor)
inline

◆ operator=() [1/2]

template<typename T >
GradientPairInternal& xgboost::detail::GradientPairInternal< T >::operator= ( GradientPairInternal< T > &&  that)
default

◆ operator=() [2/2]

template<typename T >
GradientPairInternal& xgboost::detail::GradientPairInternal< T >::operator= ( GradientPairInternal< T > const &  that)
default

◆ operator==()

template<typename T >
XGBOOST_DEVICE bool xgboost::detail::GradientPairInternal< T >::operator== ( const GradientPairInternal< T > &  rhs) const
inline

◆ Reduce()

template<typename T >
static void xgboost::detail::GradientPairInternal< T >::Reduce ( GradientPairInternal< T > &  a,
const GradientPairInternal< T > &  b 
)
inlinestatic

Friends And Related Function Documentation

◆ operator<<

template<typename T >
std::ostream& operator<< ( std::ostream &  os,
const GradientPairInternal< T > &  g 
)
friend

The documentation for this class was generated from the following file: