开发者
资源

简介

NumericLimits工具类,用于查询指定数据类型的最大值/最小值等属性。

通过模板参数T指定数据类型。原型定义如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
template <typename T>
struct NumericLimits {
    // 标量接口,返回值为标量
    constexpr __aicore__ static inline T Max();
    constexpr __aicore__ static inline T Lowest();
    constexpr __aicore__ static inline T Min();
    constexpr __aicore__ static inline T Infinity();
    constexpr __aicore__ static inline T NegativeInfinity();
    constexpr __aicore__ static inline T QuietNaN();
    constexpr __aicore__ static inline T SignalingNaN();
    constexpr __aicore__ static inline T DeNormMin();

    // 为dstLocal前count个元素赋值
    __aicore__ static inline void Max(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void Lowest(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void Min(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void Infinity(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void NegativeInfinity(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void QuietNaN(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void SignalingNaN(const LocalTensor<T> &dstLocal, uint32_t count);
    __aicore__ static inline void DeNormMin(const LocalTensor<T> &dstLocal, uint32_t count);
};