ast_operator.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2025, NVIDIA CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #pragma once
17 
18 #include <cudf/utilities/export.hpp>
19 
20 #include <cuda/std/cstdint>
21 
22 namespace CUDF_EXPORT cudf {
23 
24 namespace ast {
34 enum class ast_operator : int32_t {
35  // Binary operators
36  ADD,
37  SUB,
38  MUL,
39  DIV,
40  TRUE_DIV,
41  FLOOR_DIV,
43  MOD,
44  PYMOD,
45  POW,
46  EQUAL,
47  NULL_EQUAL,
50  NOT_EQUAL,
51  LESS,
52  GREATER,
53  LESS_EQUAL,
55  BITWISE_AND,
56  BITWISE_OR,
57  BITWISE_XOR,
58  LOGICAL_AND,
63  LOGICAL_OR,
68  // Unary operators
69  IDENTITY,
70  IS_NULL,
71  SIN,
72  COS,
73  TAN,
74  ARCSIN,
75  ARCCOS,
76  ARCTAN,
77  SINH,
78  COSH,
79  TANH,
80  ARCSINH,
81  ARCCOSH,
82  ARCTANH,
83  EXP,
84  LOG,
85  SQRT,
86  CBRT,
87  CEIL,
88  FLOOR,
89  ABS,
90  RINT,
91  BIT_INVERT,
92  NOT,
96 };
97  // end of group
99 } // namespace ast
100 
101 } // namespace CUDF_EXPORT cudf
ast_operator
Enum of supported operators.
@ NOT
Logical Not (!)
@ TANH
Hyperbolic tangent.
@ DIV
operator / using common type of lhs and rhs
@ CBRT
Cube-root (x^(1.0/3))
@ ARCSINH
Hyperbolic sine inverse.
@ SQRT
Square-root (x^0.5)
@ PYMOD
operator % using Python's sign rules for negatives
@ LOG
Natural Logarithm (base e)
@ FLOOR
largest integer value not greater than arg
@ ARCTAN
Trigonometric tangent inverse.
@ SIN
Trigonometric sine.
@ CEIL
Smallest integer value not less than arg.
@ ARCSIN
Trigonometric sine inverse.
@ RINT
Rounds the floating-point argument arg to an integer value.
@ BIT_INVERT
Bitwise Not (~)
@ TAN
Trigonometric tangent.
@ ARCCOS
Trigonometric cosine inverse.
@ ABS
Absolute value.
@ ARCTANH
Hyperbolic tangent inverse.
@ GREATER_EQUAL
operator >=
@ EXP
Exponential (base e, Euler number)
@ CAST_TO_FLOAT64
Cast value to double.
@ TRUE_DIV
operator / after promoting type to floating point
@ LOGICAL_AND
operator &&
@ SINH
Hyperbolic sine.
@ CAST_TO_UINT64
Cast value to uint64_t.
@ COSH
Hyperbolic cosine.
@ ARCCOSH
Hyperbolic cosine inverse.
@ IDENTITY
Identity function.
@ IS_NULL
Check if operand is null.
@ CAST_TO_INT64
Cast value to int64_t.
@ COS
Trigonometric cosine.
cuDF interfaces
Definition: host_udf.hpp:37