GetSFFValue

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Kirin X90

Kirin 9030

功能说明

获取一个uint64_t类型数字的二进制表示中从最低有效位开始的第一个0或1出现的位置,如果没找到则返回-1。

函数原型

template <int countValue> 
__aicore__ inline int64_t GetSFFValue(uint64_t valueIn)

参数说明

表 1 模板参数说明

参数名

描述

countValue

指定要查找的值,0表示查找第一个0的位置,1表示查找第一个1的位置,数据类型是int,只能输入0或1。

表 2 参数说明

参数名

输入/输出

描述

valueIn

输入

输入数据,数据类型是uint64_t。

返回值说明

int64_t类型的数,valueIn中第一个0或1出现的位置。

约束说明

无。

调用示例

uint64_t valueIn = 28;  // 0x1c
// 输出数据oneCount:2,最低位0,倒数第3为1,则最低位起连续2个0
int64_t oneCount = AscendC::GetSFFValue<1>(valueIn);