Scalar Factories#
- group scalar_factories
Functions
-
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())#
Construct scalar with uninitialized storage to hold a value of the specified numeric
data_type
.- Throws:
std::bad_alloc – if device memory allocation fails
cudf::logic_error – if
type
is not a numeric type
- Parameters:
type – The desired numeric element type
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
An uninitialized numeric scalar
-
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())#
Construct scalar with uninitialized storage to hold a value of the specified timestamp
data_type
.- Throws:
std::bad_alloc – if device memory allocation fails
cudf::logic_error – if
type
is not a timestamp type
- Parameters:
type – The desired timestamp element type
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
An uninitialized timestamp scalar
-
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())#
Construct scalar with uninitialized storage to hold a value of the specified duration
data_type
.- Throws:
std::bad_alloc – if device memory allocation fails
cudf::logic_error – if
type
is not a duration type
- Parameters:
type – The desired duration element type
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
An uninitialized duration scalar
-
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())#
Construct scalar with uninitialized storage to hold a value of the specified fixed-width
data_type
.- Throws:
std::bad_alloc – if device memory allocation fails
cudf::logic_error – if
type
is not a fixed-width type
- Parameters:
type – The desired fixed-width element type
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
An uninitialized fixed-width scalar
-
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())#
Construct STRING type scalar given a
std::string
. The size of thestd::string
must not exceed the maximum size of size_type. The string characters are expected to be UTF-8 encoded sequence of char bytes.- Throws:
std::bad_alloc – if device memory allocation fails
- Parameters:
string – The
std::string
to copy to devicestream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A string scalar with the contents of
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())#
Constructs default constructed scalar of type
type
- Throws:
std::bad_alloc – if device memory allocation fails
- Parameters:
type – The desired element type
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A scalar of type
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())#
Creates an empty (invalid) scalar of the same type as the
input
column_view.- Throws:
cudf::logic_error – if the
input
column is struct type and empty- Parameters:
input – Immutable view of input column to emulate
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A scalar of type of
input
column
-
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())# Construct scalar using the given value of fixed width type.
- Template Parameters:
T – Datatype of the value to be represented by the scalar
- Parameters:
value – The value to store in the scalar object
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A scalar of type
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())# Construct scalar using the given value of fixed_point type.
- Template Parameters:
T – Datatype of the value to be represented by the scalar
- Parameters:
value – The value to store in the scalar object
scale – The scale of the fixed point value
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A scalar of type
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())#
Construct scalar using the given column of elements.
- Parameters:
elements – Elements of the list
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A list scalar
-
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())#
Construct a struct scalar using the given table_view.
The columns must have 1 row.
- Parameters:
data – The columnar data to store in the scalar object
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A struct scalar
-
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())#
Construct a struct scalar using the given span of column views.
The columns must have 1 row.
- Parameters:
data – The columnar data to store in the scalar object
stream – CUDA stream used for device memory operations.
mr – Device memory resource used to allocate the scalar’s
data
andis_valid
bool.
- Returns:
A struct scalar
-
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())#