Classes | Namespaces | Functions
column_view.hpp File Reference

column view class definitions More...

#include <cudf/types.hpp>
#include <cudf/utilities/error.hpp>
#include <cudf/utilities/span.hpp>
#include <cudf/utilities/traits.hpp>
#include <cudf/utilities/type_dispatcher.hpp>
#include <limits>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

class  cudf::detail::column_view_base
 A non-owning, immutable view of device data as a column of elements, some of which may be null as indicated by a bitmask. More...
 
class  cudf::detail::mutable_column_view_base
 
class  cudf::column_view
 A non-owning, immutable view of device data as a column of elements, some of which may be null as indicated by a bitmask. More...
 
class  cudf::mutable_column_view
 A non-owning, mutable view of device data as a column of elements, some of which may be null as indicated by a bitmask. More...
 

Namespaces

 cudf
 cuDF interfaces
 

Functions

size_type cudf::count_descendants (column_view parent)
 Counts the number of descendants of the specified parent. More...
 
column_view cudf::bit_cast (column_view const &input, data_type type)
 Zero-copy cast between types with the same size and compatible underlying representations. More...
 
mutable_column_view cudf::bit_cast (mutable_column_view const &input, data_type type)
 Zero-copy cast between types with the same size and compatible underlying representations. More...
 
std::size_t cudf::detail::shallow_hash (column_view const &input)
 Computes a hash value from the shallow state of the specified column. More...
 
bool cudf::detail::is_shallow_equivalent (column_view const &lhs, column_view const &rhs)
 Uses only shallow state to determine if two column_views view equivalent columns. More...
 

Detailed Description

column view class definitions

Definition in file column_view.hpp.

Function Documentation

◆ is_shallow_equivalent()

bool cudf::detail::is_shallow_equivalent ( column_view const &  lhs,
column_view const &  rhs 
)

Uses only shallow state to determine if two column_views view equivalent columns.

Two columns are equivalent if for any operation F then:

is_shallow_equivalent(c0, c1) ==> The results of F(c0) and F(c1) are equivalent
bool is_shallow_equivalent(column_view const &lhs, column_view const &rhs)
Uses only shallow state to determine if two column_views view equivalent columns.

For any two non-empty columns, is_shallow_equivalent(c0,c1) is true only if they view the exact same physical column. In other words, two physically independent columns may have exactly equivalent elements but their shallow state would not be equivalent.

The complexity of this function is O( min(count_descendants(lhs), count_descendants(rhs)) ), i.e., it is independent of the number of elements in either column.

This function does not inspect the elements of lhs or rhs nor access any device memory nor launch any kernels.

Parameters
lhsThe left column_view to compare
rhsThe right column_view to compare
Returns
If lhs and rhs have equivalent shallow state

◆ shallow_hash()

std::size_t cudf::detail::shallow_hash ( column_view const &  input)

Computes a hash value from the shallow state of the specified column.

For any two columns, if is_shallow_equivalent(c0,c1) then shallow_hash(c0) == shallow_hash(c1).

The complexity of computing the hash value of input is O( count_descendants(input) ), i.e., it is independent of the number of elements in the column.

This function does not inspect the elements of input nor access any device memory or launch any kernels.

Parameters
inputThe column_view to compute hash
Returns
The hash value derived from the shallow state of input.