|
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.