23 #define CUDF_HOST_DEVICE __host__ __device__
27 #define CUDF_KERNEL __global__ static
32 #define CUDF_HOST_DEVICE
36 #define CUDF_KERNEL static
39 #include <cudf/utilities/export.hpp>
59 namespace CUDF_EXPORT
cudf {
63 class mutable_column_view;
73 template <
typename T>
class numeric_scalar;
74 template <
typename T>
class fixed_point_scalar;
75 template <
typename T>
class timestamp_scalar;
76 template <
typename T>
class duration_scalar;
78 class string_scalar_device_view;
79 template <
typename T>
class numeric_scalar_device_view;
80 template <
typename T>
class fixed_point_scalar_device_view;
81 template <
typename T>
class timestamp_scalar_device_view;
82 template <
typename T>
class duration_scalar_device_view;
87 class mutable_table_view;
109 template <
typename T>
279 assert(
id == type_id::DECIMAL32 ||
id == type_id::DECIMAL64 ||
id == type_id::DECIMAL128);
287 [[nodiscard]] constexpr
type_id id() const noexcept {
return _id; }
294 [[nodiscard]] constexpr int32_t
scale() const noexcept {
return _fixed_point_scale; }
301 int32_t _fixed_point_scale{};
Indicator for the logical data type of an element in a column.
data_type & operator=(data_type &&)=default
Move assignment operator for data_type.
data_type(data_type &&)=default
Move constructor.
constexpr int32_t scale() const noexcept
Returns the scale (for fixed_point types)
data_type(type_id id, int32_t scale)
Construct a new data_type object for numeric::fixed_point
data_type & operator=(data_type const &)=default
Copy assignment operator for data_type.
constexpr type_id id() const noexcept
Returns the type identifier.
data_type(data_type const &)=default
Copy constructor.
constexpr data_type(type_id id)
Construct a new data_type object.
@ LOWER
all lower case characters
null_order
Indicates how null values compare against all other values.
null_equality
Enum to consider two nulls as equal or unequal.
int32_t size_type
Row index type for columns and tables.
null_policy
Enum to specify whether to include nulls or exclude nulls.
uint32_t bitmask_type
Bitmask type stored as 32-bit unsigned integer.
size_type distance(T f, T l)
Similar to std::distance but returns cudf::size_type and performs static_cast
constexpr bool operator==(data_type const &lhs, data_type const &rhs)
Compares two data_type objects for equality.
mask_state
Controls the allocation/initialization of a null mask.
std::size_t size_of(data_type t)
Returns the size in bytes of elements of the specified data_type
int64_t thread_index_type
Thread index type in kernels.
nan_policy
Enum to treat NaN floating point value as null or non-null element.
order
Indicates the order in which elements should be sorted.
bool operator!=(data_type const &lhs, data_type const &rhs)
Compares two data_type objects for inequality.
uint8_t valid_type
Valid type in host memory.
interpolation
Interpolation method to use when the desired quantile lies between two data points i and j.
sorted
Indicates whether a collection of values is known to be sorted.
type_id
Identifies a column's logical element type.
nan_equality
Enum to consider different elements (of floating point types) holding NaN value as equal or unequal.
uint32_t char_utf8
UTF-8 characters are 1-4 bytes.
@ BEFORE
NULL values ordered before all other values.
@ AFTER
NULL values ordered after all other values.
@ INCLUDE
include null elements
@ EXCLUDE
exclude null elements
@ ALL_VALID
Null mask allocated, initialized to all elements valid.
@ UNALLOCATED
Null mask not allocated, (all elements are valid)
@ ALL_NULL
Null mask allocated, initialized to all elements NULL.
@ UNINITIALIZED
Null mask allocated, but not initialized.
@ NAN_IS_VALID
treat nans as valid elements (non-null)
@ NAN_IS_NULL
treat nans as null elements
@ ASCENDING
Elements ordered from small to large.
@ DESCENDING
Elements ordered from large to small.
@ HIGHER
Higher data point (j)
@ LINEAR
Linear interpolation between i and j.
@ NEAREST
i or j, whichever is nearest
@ BOOL8
Boolean using one byte per value, 0 == false, else true.
@ FLOAT64
8 byte floating point
@ UINT32
4 byte unsigned integer
@ DURATION_MILLISECONDS
time interval of milliseconds in int64
@ NUM_TYPE_IDS
Total number of type ids.
@ UINT16
2 byte unsigned integer
@ DECIMAL128
Fixed-point type with __int128_t.
@ INT16
2 byte signed integer
@ TIMESTAMP_MILLISECONDS
point in time in milliseconds since Unix Epoch in int64
@ DURATION_NANOSECONDS
time interval of nanoseconds in int64
@ DURATION_DAYS
time interval of days in int32
@ UINT64
8 byte unsigned integer
@ TIMESTAMP_MICROSECONDS
point in time in microseconds since Unix Epoch in int64
@ DURATION_SECONDS
time interval of seconds in int64
@ DURATION_MICROSECONDS
time interval of microseconds in int64
@ FLOAT32
4 byte floating point
@ EMPTY
Always null with no underlying data.
@ TIMESTAMP_SECONDS
point in time in seconds since Unix Epoch in int64
@ TIMESTAMP_NANOSECONDS
point in time in nanoseconds since Unix Epoch in int64
@ TIMESTAMP_DAYS
point in time in days since Unix Epoch in int32
@ DECIMAL64
Fixed-point type with int64_t.
@ DECIMAL32
Fixed-point type with int32_t.
@ UINT8
1 byte unsigned integer
@ INT8
1 byte signed integer
@ DICTIONARY32
Dictionary type using int32 indices.
@ UNEQUAL
All NaNs compare unequal (IEEE754 behavior)
@ ALL_EQUAL
All NaNs compare equal, regardless of sign.
Indicates how a collection of values has been ordered.
order ordering
Indicates the order in which the values are sorted.
null_order null_ordering
Indicates how null values compare against all other values.
sorted is_sorted
Indicates whether the collection is sorted.