文件 | 函数
位掩码

文件

文件  bit.hpp
 用于位和位掩码操作的实用程序。
 

函数

constexpr CUDF_HOST_DEVICE size_type cudf::word_index (size_type bit_index)
 返回包含指定位的字索引。 更多...
 
constexpr CUDF_HOST_DEVICE size_type cudf::intra_word_index (size_type bit_index)
 返回指定位在字内的位置。 更多...
 
CUDF_HOST_DEVICE void cudf::set_bit_unsafe (bitmask_type *bitmask, size_type bit_index)
 将指定位设置为 1 更多...
 
CUDF_HOST_DEVICE void cudf::clear_bit_unsafe (bitmask_type *bitmask, size_type bit_index)
 将指定位设置为 0 更多...
 
CUDF_HOST_DEVICE bool cudf::bit_is_set (bitmask_type const *bitmask, size_type bit_index)
 指示指定位是否设置为 1 更多...
 
CUDF_HOST_DEVICE bool cudf::bit_value_or (bitmask_type const *bitmask, size_type bit_index, bool default_value)
 检查位掩码中指定位是否设置的类似可选接口。 更多...
 
constexpr CUDF_HOST_DEVICE bitmask_type cudf::set_least_significant_bits (size_type n)
 返回一个设置了 n 个最低有效位的位掩码字。 更多...
 
constexpr CUDF_HOST_DEVICE bitmask_type cudf::set_most_significant_bits (size_type n)
 返回一个设置了 n 个最高有效位的位掩码字。 更多...
 

详细描述

函数文档

◆ bit_is_set()

CUDF_HOST_DEVICE bool cudf::bit_is_set ( bitmask_type const *  bitmask,
size_type  bit_index 
)
inline

指示指定位是否设置为 1

参数
bitmask包含要测试的位的位掩码
bit_index要测试的位的索引
返回值
true 指定位为 1
false 指定位为 0

定义于文件 bit.hpp128 行。

◆ bit_value_or()

CUDF_HOST_DEVICE bool cudf::bit_value_or ( bitmask_type const *  bitmask,
size_type  bit_index,
bool  default_value 
)
inline

检查位掩码中指定位是否设置的类似可选接口。

参数
bitmask包含要测试的位的位掩码
bit_index要测试的位的索引
default_value如果 bitmask 为 nullptr,返回的值
返回值
true 指定位为 1
false 指定位为 0
如果 bitmask 为 nullptr,则为 default_value

定义于文件 bit.hpp144 行。

◆ clear_bit_unsafe()

CUDF_HOST_DEVICE void cudf::clear_bit_unsafe ( bitmask_type bitmask,
size_type  bit_index 
)
inline

将指定位设置为 0

此函数非线程安全,即,从多个线程同时尝试更新同一字中的位会导致未定义行为。

参数
bitmask包含要测试的位的位掩码
bit_index要清除的位的索引

定义于文件 bit.hpp114 行。

◆ intra_word_index()

constexpr CUDF_HOST_DEVICE size_type cudf::intra_word_index ( size_type  bit_index)
inlineconstexpr

返回指定位在字内的位置。

参数
bit_index要查询的位的索引
返回值
指定位在字内的位置

定义于文件 bit.hpp85 行。

◆ set_bit_unsafe()

CUDF_HOST_DEVICE void cudf::set_bit_unsafe ( bitmask_type bitmask,
size_type  bit_index 
)
inline

将指定位设置为 1

此函数非线程安全,即,从多个线程同时尝试更新同一字中的位会导致未定义行为。

参数
bitmask包含要设置的位的位掩码
bit_index要设置的位的索引

定义于文件 bit.hpp99 行。

◆ set_least_significant_bits()

constexpr CUDF_HOST_DEVICE bitmask_type cudf::set_least_significant_bits ( size_type  n)
inlineconstexpr

返回一个设置了 n 个最低有效位的位掩码字。

如果 n < 0n >= size_in_bits<bitmask_type>(),行为是未定义的。

参数
n要设置的最低有效位数
返回值
一个设置了 n 个最低有效位的位掩码字

定义于文件 bit.hpp159 行。

◆ set_most_significant_bits()

constexpr CUDF_HOST_DEVICE bitmask_type cudf::set_most_significant_bits ( size_type  n)
inlineconstexpr

返回一个设置了 n 个最高有效位的位掩码字。

如果 n < 0n >= size_in_bits<bitmask_type>(),行为是未定义的。

参数
n要设置的最高有效位数
返回值
一个设置了 n 个最高有效位的位掩码字

定义于文件 bit.hpp173 行。

◆ word_index()

constexpr CUDF_HOST_DEVICE size_type cudf::word_index ( size_type  bit_index)
inlineconstexpr

返回包含指定位的字索引。

参数
bit_index要查询的位的索引
返回值
包含指定位的字索引

定义于文件 bit.hpp74 行。