Medial Code Documentation
|
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>
Public Types | |
using | ValueT = T |
Public Member Functions | |
void | Add (const ValueT &grad, const ValueT &hess) |
XGBOOST_DEVICE | GradientPairInternal (T grad, T hess) |
GradientPairInternal (GradientPairInternal const &g)=default | |
GradientPairInternal (GradientPairInternal &&g)=default | |
GradientPairInternal & | operator= (GradientPairInternal const &that)=default |
GradientPairInternal & | operator= (GradientPairInternal &&that)=default |
template<typename T2 > | |
XGBOOST_DEVICE | GradientPairInternal (const GradientPairInternal< T2 > &g) |
XGBOOST_DEVICE T | GetGrad () const |
XGBOOST_DEVICE T | GetHess () 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) |
Implementation of gradient statistics pair. Template specialisation may be used to overload different gradients types e.g. low precision, high precision, integer, floating point.