标量工厂#
- group scalar_factories
函数
-
std::unique_ptr<scalar> make_numeric_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
构造一个未初始化的存储标量,以保存指定数值类型的值
data_type。- Throws:
std::bad_alloc – 如果设备内存分配失败
cudf::logic_error – 如果
type不是数值类型
- Parameters:
type – 所需的数值元素类型
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
未初始化的数值标量
-
std::unique_ptr<scalar> make_timestamp_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
构造具有未初始化存储的标量,以保存指定时间戳的值
data_type。- Throws:
std::bad_alloc – 如果设备内存分配失败
cudf::logic_error – 如果
type不是时间戳类型
- Parameters:
type – 所需的时间戳元素类型
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
未初始化的时间戳标量
-
std::unique_ptr<scalar> make_duration_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
构造具有未初始化存储的标量,以保存指定持续时间的值
data_type。- Throws:
std::bad_alloc – 如果设备内存分配失败
cudf::logic_error – 如果
type不是持续时间类型
- Parameters:
type – 所需的持续时间元素类型
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个未初始化的持续时间标量
-
std::unique_ptr<scalar> make_fixed_width_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
构造具有未初始化存储的标量,以保存指定固定宽度
data_type的值。- Throws:
std::bad_alloc – 如果设备内存分配失败
cudf::logic_error – 如果
type不是固定宽度类型
- Parameters:
type – 所需的固定宽度元素类型
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个未初始化的固定宽度标量
-
std::unique_ptr<scalar> make_string_scalar(std::string const &string, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
给定一个
std::string构造STRING类型的标量。std::string的大小不得超过size_type的最大大小。字符串字符应为UTF-8编码的char字节序列。- Throws:
std::bad_alloc – 如果设备内存分配失败
- Parameters:
string – 要复制到设备的
std::stringstream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个包含
string内容的字符串标量
-
std::unique_ptr<scalar> make_default_constructed_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
构造类型为
type的默认构造标量- Throws:
std::bad_alloc – 如果设备内存分配失败
- Parameters:
type – 所需的元素类型
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个类型为
type的标量
-
std::unique_ptr<scalar> make_empty_scalar_like(column_view const &input, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
创建一个与
inputcolumn_view类型相同的空(无效)标量。- Throws:
cudf::logic_error – 如果
input列是结构类型且为空- Parameters:
input – 输入列的不可变视图,用于模拟
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个类型为
input列的标量
-
template<typename T>
std::unique_ptr<scalar> make_fixed_width_scalar(T value, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())# 使用给定值的固定宽度类型构造标量。
- Template Parameters:
T – 标量所表示的值的类型
- Parameters:
value – 存储在标量对象中的值
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个类型为
T的标量
-
template<typename T>
std::unique_ptr<scalar> make_fixed_point_scalar(typename T::rep value, numeric::scale_type scale, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())# 使用给定的固定点类型的值构造标量。
- Template Parameters:
T – 标量所表示的值的类型
- Parameters:
value – 存储在标量对象中的值
scale – 定点值的比例
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个类型为
T的标量
-
std::unique_ptr<scalar> make_list_scalar(column_view elements, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
使用给定的元素列构造标量。
- Parameters:
elements – 列表的元素
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个列表标量
-
std::unique_ptr<scalar> make_struct_scalar(table_view const &data, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
使用给定的table_view构造一个结构体标量。
列必须有一行。
- Parameters:
data – 要存储在标量对象中的列数据
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个结构体标量
-
std::unique_ptr<scalar> make_struct_scalar(host_span<column_view const> data, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
使用给定的列视图范围构造一个结构体标量。
列必须有一行。
- Parameters:
data – 要存储在标量对象中的列数据
stream – 用于设备内存操作的CUDA流。
mr – 用于分配标量的
data和is_valid布尔值的设备内存资源。
- Returns:
一个结构体标量
-
std::unique_ptr<scalar> make_numeric_scalar(data_type type, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#