4.7. Half2 比较函数

要使用这些函数,请在您的程序中包含头文件 cuda_fp16.h

函数

__host__ __device__ bool __hbeq2(const __half2 a, const __half2 b)

执行 half2 向量相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbequ2(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbge2(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbgeu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbgt2(const __half2 a, const __half2 b)

执行 half2 向量大于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbgtu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hble2(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbleu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hblt2(const __half2 a, const __half2 b)

执行 half2 向量小于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbltu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbne2(const __half2 a, const __half2 b)

执行 half2 向量不相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ bool __hbneu2(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

__host__ __device__ __half2 __heq2(const __half2 a, const __half2 b)

执行 half2 向量相等比较。

__host__ __device__ unsigned int __heq2_mask(const __half2 a, const __half2 b)

执行 half2 向量相等比较。

__host__ __device__ __half2 __hequ2(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较。

__host__ __device__ unsigned int __hequ2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较。

__host__ __device__ __half2 __hge2(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较。

__host__ __device__ unsigned int __hge2_mask(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较。

__host__ __device__ __half2 __hgeu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较。

__host__ __device__ unsigned int __hgeu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较。

__host__ __device__ __half2 __hgt2(const __half2 a, const __half2 b)

执行 half2 向量大于比较。

__host__ __device__ unsigned int __hgt2_mask(const __half2 a, const __half2 b)

执行 half2 向量大于比较。

__host__ __device__ __half2 __hgtu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较。

__host__ __device__ unsigned int __hgtu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较。

__host__ __device__ __half2 __hisnan2(const __half2 a)

确定 half2 参数是否为 NaN。

__host__ __device__ __half2 __hle2(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较。

__host__ __device__ unsigned int __hle2_mask(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较。

__host__ __device__ __half2 __hleu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较。

__host__ __device__ unsigned int __hleu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较。

__host__ __device__ __half2 __hlt2(const __half2 a, const __half2 b)

执行 half2 向量小于比较。

__host__ __device__ unsigned int __hlt2_mask(const __half2 a, const __half2 b)

执行 half2 向量小于比较。

__host__ __device__ __half2 __hltu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较。

__host__ __device__ unsigned int __hltu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较。

__host__ __device__ __half2 __hmax2(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最大值。

__host__ __device__ __half2 __hmax2_nan(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最大值,NaN 穿透传递。

__host__ __device__ __half2 __hmin2(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最小值。

__host__ __device__ __half2 __hmin2_nan(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最小值,NaN 穿透传递。

__host__ __device__ __half2 __hne2(const __half2 a, const __half2 b)

执行 half2 向量不相等比较。

__host__ __device__ unsigned int __hne2_mask(const __half2 a, const __half2 b)

执行 half2 向量不相等比较。

__host__ __device__ __half2 __hneu2(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较。

__host__ __device__ unsigned int __hneu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较。

__host__ __device__ bool operator!=(const __half2 &lh, const __half2 &rh)

执行打包的 half 无序不相等比较操作。

__host__ __device__ bool operator<(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序小于比较操作。

__host__ __device__ bool operator<=(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序小于等于比较操作。

__host__ __device__ bool operator==(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序相等比较操作。

__host__ __device__ bool operator>(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序大于比较操作。

__host__ __device__ bool operator>=(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序大于等于比较操作。

4.7.1. 函数

__host__ __device__ bool __hbeq2(const __half2 a, const __half2 b)

执行 half2 向量相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量相等比较。只有当两个 half 相等比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的相等比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbequ2(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量相等比较。只有当两个 half 相等比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序相等比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbge2(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量大于等于比较。只有当两个 half 大于等于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的大于等于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbgeu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量大于等于比较。只有当两个 half 大于等于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序大于等于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbgt2(const __half2 a, const __half2 b)

执行 half2 向量大于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量大于比较。只有当两个 half 大于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的大于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbgtu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量大于比较。只有当两个 half 大于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序大于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hble2(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量小于等于比较。只有当两个 half 小于等于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的小于等于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbleu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量小于等于比较。只有当两个 half 小于等于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序小于等于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hblt2(const __half2 a, const __half2 b)

执行 half2 向量小于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量小于比较。只有当两个 half 小于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的小于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbltu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量小于比较。只有当两个 half 小于比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序小于比较的两个 half 结果都为真,则为真;

  • 否则为假。

__host__ __device__ bool __hbne2(const __half2 a, const __half2 b)

执行 half2 向量不相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量不相等比较。只有当两个 half 不相等比较都评估为真时,布尔结果才设置为真,否则为假。 NaN 输入生成假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的不相等比较的两个 half 结果都为真,则为真,

  • 否则为假。

__host__ __device__ bool __hbneu2(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较,如果两个 half 结果都为真,则返回布尔真,否则返回布尔假。

执行输入 abhalf2 向量不等比较。只有当两个 half 不等比较的结果都为 true 时,布尔结果才设置为 true,否则为 false。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

布尔值

  • 如果向量 ab 的无序不等比较的两个 half 结果均为 true,则为 true;

  • 否则为假。

__host__ __device__ __half2 __heq2(const __half2 a, const __half2 b)

执行 half2 向量相等比较。

执行输入 abhalf2 向量相等比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的相等比较的向量结果。

__host__ __device__ unsigned int __heq2_mask(const __half2 a, const __half2 b)

执行 half2 向量相等比较。

执行输入 abhalf2 向量相等比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的相等比较的向量掩码结果。

__host__ __device__ __half2 __hequ2(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较。

执行输入 abhalf2 向量相等比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的无序相等比较的向量结果。

__host__ __device__ unsigned int __hequ2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序相等比较。

执行输入 abhalf2 向量相等比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序相等比较的向量掩码结果。

__host__ __device__ __half2 __hge2(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较。

执行输入 abhalf2 向量大于等于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的大于等于比较的向量结果。

__host__ __device__ unsigned int __hge2_mask(const __half2 a, const __half2 b)

执行 half2 向量大于等于比较。

执行输入 abhalf2 向量大于等于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的大于等于比较的向量掩码结果。

__host__ __device__ __half2 __hgeu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较。

执行输入 abhalf2 向量大于等于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的无序大于等于比较的 half2 向量结果。

__host__ __device__ unsigned int __hgeu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序大于等于比较。

执行输入 abhalf2 向量大于等于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序大于等于比较的向量掩码结果。

__host__ __device__ __half2 __hgt2(const __half2 a, const __half2 b)

执行 half2 向量大于比较。

执行输入 abhalf2 向量大于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的大于比较的向量结果。

__host__ __device__ unsigned int __hgt2_mask(const __half2 a, const __half2 b)

执行 half2 向量大于比较。

执行输入 abhalf2 向量大于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的大于比较的向量掩码结果。

__host__ __device__ __half2 __hgtu2(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较。

执行输入 abhalf2 向量大于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的无序大于比较的 half2 向量结果。

__host__ __device__ unsigned int __hgtu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序大于比较。

执行输入 abhalf2 向量大于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序大于比较的向量掩码结果。

__host__ __device__ __half2 __hisnan2(const __half2 a)

确定 half2 参数是否为 NaN。

确定输入 half2 数字 a 的每个 half 是否为 NaN。

参数

a[in] - half2。仅被读取。

返回值

half2

  • half2,其中对应的 half 结果,如果为 NaN 则设置为 1.0,否则为 0.0。

__host__ __device__ __half2 __hle2(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较。

执行输入 abhalf2 向量小于等于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的小于等于比较的 half2 结果。

__host__ __device__ unsigned int __hle2_mask(const __half2 a, const __half2 b)

执行 half2 向量小于等于比较。

执行输入 abhalf2 向量小于等于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的小于等于比较的向量掩码结果。

__host__ __device__ __half2 __hleu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较。

执行输入 abhalf2 向量小于等于比较。对应的 half 结果,如果为 true 则设置为 1.0,如果为 false 则设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 的无序小于等于比较的向量结果。

__host__ __device__ unsigned int __hleu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序小于等于比较。

执行输入 abhalf2 向量小于等于比较。对应的 unsigned 位,如果为 true 则设置为 0xFFFF,如果为 false 则设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序小于等于比较的向量掩码结果。

__host__ __device__ __half2 __hlt2(const __half2 a, const __half2 b)

执行 half2 向量小于比较。

对输入 ab 执行 half2 向量小于比较。 对应的 half 结果,如果为真,则设置为 1.0;如果为假,则设置为 0.0。 NaN 输入产生假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 小于比较的 half2 向量结果。

__host__ __device__ unsigned int __hlt2_mask(const __half2 a, const __half2 b)

执行 half2 向量小于比较。

对输入 ab 执行 half2 向量小于比较。 对应的 unsigned 位,如果为真,则设置为 0xFFFF;如果为假,则设置为 0x0。 NaN 输入产生假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 小于比较的向量掩码结果。

__host__ __device__ __half2 __hltu2(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较。

对输入 ab 执行 half2 向量小于比较。 对应的 half 结果,如果为真,则设置为 1.0;如果为假,则设置为 0.0。 NaN 输入产生真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 无序小于比较的向量结果。

__host__ __device__ unsigned int __hltu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序小于比较。

对输入 ab 执行 half2 向量小于比较。 对应的 unsigned 位,如果为真,则设置为 0xFFFF;如果为假,则设置为 0x0。 NaN 输入产生真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 无序小于比较的向量掩码结果。

__host__ __device__ __half2 __hmax2(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最大值。

计算 half2 向量 max(a, b)。 逐元素 half 操作定义为 (a > b) ? a : b

  • 如果任一输入为 NaN,则返回另一个输入。

  • 如果两个输入均为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 逐元素最大值的结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

__host__ __device__ __half2 __hmax2_nan(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最大值,NaN 穿透传递。

计算 half2 向量 max(a, b)。 逐元素 half 操作定义为 (a > b) ? a : b

  • 如果任一输入为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 逐元素最大值的结果,NaN 值会传递

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

__host__ __device__ __half2 __hmin2(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最小值。

计算 half2 向量 min(a, b)。 逐元素 half 操作定义为 (a < b) ? a : b

  • 如果任一输入为 NaN,则返回另一个输入。

  • 如果两个输入均为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 逐元素最小值的结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

__host__ __device__ __half2 __hmin2_nan(const __half2 a, const __half2 b)

计算两个输入的 half2 向量最小值,NaN 穿透传递。

计算 half2 向量 min(a, b)。 逐元素 half 操作定义为 (a < b) ? a : b

  • 如果任一输入为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 逐元素最小值的结果,NaN 值会传递。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

__host__ __device__ __half2 __hne2(const __half2 a, const __half2 b)

执行 half2 向量不相等比较。

对输入 ab 执行 half2 向量不等于比较。 对应的 half 结果,如果为真,则设置为 1.0;如果为假,则设置为 0.0。 NaN 输入产生假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 不等于比较的向量结果。

__host__ __device__ unsigned int __hne2_mask(const __half2 a, const __half2 b)

执行 half2 向量不相等比较。

对输入 ab 执行 half2 向量不等于比较。 对应的 unsigned 位,如果为真,则设置为 0xFFFF;如果为假,则设置为 0x0。 NaN 输入产生假结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 不等于比较的向量掩码结果。

__host__ __device__ __half2 __hneu2(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较。

对输入 ab 执行 half2 向量不等于比较。 对应的 half 结果,如果为真,则设置为 1.0;如果为假,则设置为 0.0。 NaN 输入产生真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

half2

  • 向量 ab 无序不等于比较的向量结果。

__host__ __device__ unsigned int __hneu2_mask(const __half2 a, const __half2 b)

执行 half2 向量无序不相等比较。

对输入 ab 执行 half2 向量不等于比较。 对应的 unsigned 位,如果为真,则设置为 0xFFFF;如果为假,则设置为 0x0。 NaN 输入产生真结果。

参数
  • a[in] - half2。仅被读取。

  • b[in] - half2。仅被读取。

返回值

unsigned int

  • 向量 ab 无序不等于比较的向量掩码结果。

__host__ __device__ bool operator!=(const __half2 &lh, const __half2 &rh)

执行打包的 half 无序不相等比较操作。

__host__ __device__ bool operator<(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序小于比较操作。

__host__ __device__ bool operator<=(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序小于等于比较操作。

__host__ __device__ bool operator==(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序相等比较操作。

__host__ __device__ bool operator>(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序大于比较操作。

__host__ __device__ bool operator>=(const __half2 &lh, const __half2 &rh)

执行打包的 half 有序大于等于比较操作。