Files | Functions

Files

file  filling.hpp
 Column APIs for fill, repeat, and sequence.
 

Functions

void cudf::fill_in_place (mutable_column_view &destination, size_type begin, size_type end, scalar const &value)
 Fills a range of elements in-place in a column with a scalar value. More...
 
std::unique_ptr< columncudf::fill (column_view const &input, size_type begin, size_type end, scalar const &value, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a range of elements in a column out-of-place with a scalar value. More...
 
std::unique_ptr< tablecudf::repeat (table_view const &input_table, column_view const &count, bool check_count=false, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Repeat rows of a Table. More...
 
std::unique_ptr< tablecudf::repeat (table_view const &input_table, size_type count, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Repeat rows of a Table. More...
 
std::unique_ptr< columncudf::sequence (size_type size, scalar const &init, scalar const &step, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a column with a sequence of value specified by an initial value and a step. More...
 
std::unique_ptr< columncudf::sequence (size_type size, scalar const &init, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
 Fills a column with a sequence of value specified by an initial value and a step of 1. More...
 

Detailed Description

Function Documentation

◆ fill()

std::unique_ptr<column> cudf::fill ( column_view const &  input,
size_type  begin,
size_type  end,
scalar const &  value,
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Fills a range of elements in a column out-of-place with a scalar value.

Creates a new column as-if an in-place fill was performed into input; i.e. it is as if a copy of input was created first and then the elements indicated by the indices [begin, end) were overwritten by value.

Exceptions
cudf::logic_errorfor invalid range (if begin < 0, begin > end, or end > destination.size()).
cudf::logic_errorif destination and value have different types.
Parameters
inputThe input column used to create a new column. The new column is created by replacing the values of input in the specified range with value.
beginThe starting index of the fill range (inclusive)
endThe index of the last element in the fill range (exclusive)
valueThe scalar value to fill
mrDevice memory resource used to allocate the returned column's device memory
Returns
The result output column

◆ fill_in_place()

void cudf::fill_in_place ( mutable_column_view destination,
size_type  begin,
size_type  end,
scalar const &  value 
)

Fills a range of elements in-place in a column with a scalar value.

Fills N elements of destination starting at begin with value, where N = (end - begin).

Overwrites the range of elements in destination indicated by the indices [begin, end) with value. Use the out-of-place fill function returning std::unique_ptr<column> for use cases requiring memory reallocation.

Exceptions
cudf::logic_errorif memory reallocation is required (e.g. for variable width types).
cudf::logic_errorfor invalid range (if begin < 0, begin > end, or end > destination.size()).
cudf::logic_errorif destination and value have different types.
cudf::logic_errorif value is invalid but destination is not nullable.
Parameters
destinationThe preallocated column to fill into
beginThe starting index of the fill range (inclusive)
endThe index of the last element in the fill range (exclusive)
valueThe scalar value to fill
Returns
void

◆ repeat() [1/2]

std::unique_ptr<table> cudf::repeat ( table_view const &  input_table,
column_view const &  count,
bool  check_count = false,
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Repeat rows of a Table.

Creates a new table by repeating the rows of input_table. The number of repetitions of each element is defined by the value at the corresponding index of count Example:

in = [4,5,6]
count = [1,2,3]
return = [4,5,5,6,6,6]

count should not have null values; should not contain negative values; and the sum of count elements should not overflow the size_type's limit. It is undefined behavior if count has negative values or the sum overflows and check_count is set to false.

Exceptions
cudf::logic_errorif the data type of count is not size_type.
cudf::logic_errorif input_table and count have different number of rows.
cudf::logic_errorif count has null values.
cudf::logic_errorif check_count is set to true and count has negative values or the sum of count elements overflows.
Parameters
input_tableInput table
countNon-nullable column of an integral type
check_countWhether to check count (negative values and overflow)
mrDevice memory resource used to allocate the returned table's device memory
Returns
The result table containing the repetitions

◆ repeat() [2/2]

std::unique_ptr<table> cudf::repeat ( table_view const &  input_table,
size_type  count,
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Repeat rows of a Table.

Creates a new table by repeating count times the rows of input_table. Example:

in = [4,5,6]
count = 2
return = [4,4,5,5,6,6]
Exceptions
cudf::logic_errorif the data type of count is not size_type.
cudf::logic_errorif count is invalid or count is negative.
cudf::logic_errorif input_table.num_rows() * count overflows size_type.
Parameters
input_tableInput table
countNumber of repetitions
mrDevice memory resource used to allocate the returned table's device memory.
Returns
The result table containing the repetitions

◆ sequence() [1/2]

std::unique_ptr<column> cudf::sequence ( size_type  size,
scalar const &  init,
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Fills a column with a sequence of value specified by an initial value and a step of 1.

Creates a new column and fills with size values starting at init and incrementing by 1, generating the sequence [ init, init+1, init+2, ... init + (size - 1)]

size = 3
init = 0
return = [0, 1, 2]
Exceptions
cudf::logic_errorif init is not numeric.
cudf::logic_errorif size is < 0.
Parameters
sizeSize of the output column
initFirst value in the sequence
mrDevice memory resource used to allocate the returned column's device memory
Returns
std::unique_ptr<column> The result table containing the sequence

◆ sequence() [2/2]

std::unique_ptr<column> cudf::sequence ( size_type  size,
scalar const &  init,
scalar const &  step,
rmm::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Fills a column with a sequence of value specified by an initial value and a step.

Creates a new column and fills with size values starting at init and incrementing by step, generating the sequence [ init, init+step, init+2*step, ... init + (size - 1)*step]

size = 3
init = 0
step = 2
return = [0, 2, 4]
Exceptions
cudf::logic_errorif init and @step are not the same type.
cudf::logic_errorif scalar types are not numeric.
cudf::logic_errorif size is < 0.
Parameters
sizeSize of the output column
initFirst value in the sequence
stepIncrement value
mrDevice memory resource used to allocate the returned column's device memory
Returns
std::unique_ptr<column> The result table containing the sequence