![]() |
Project
|
#include "Framework/BasicOps.h"#include "Framework/Pack.h"#include "Framework/Configurable.h"#include "Framework/Variant.h"#include "Framework/InitContext.h"#include "Framework/ConfigParamRegistry.h"#include "CommonConstants/MathConstants.h"#include <arrow/type_fwd.h>#include <gandiva/gandiva_aliases.h>#include <arrow/type.h>#include <gandiva/arrow.h>#include <arrow/table.h>#include <gandiva/selection_vector.h>#include <gandiva/node.h>#include <gandiva/filter.h>#include <gandiva/projector.h>#include <variant>#include <string>#include <memory>#include <set>#include <stack>Go to the source code of this file.
Namespaces | |
| namespace | gandiva |
| namespace | o2 |
| a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects | |
| namespace | o2::framework |
| Defining PrimaryVertex explicitly as messageable. | |
| namespace | o2::framework::expressions |
Concepts | |
| concept | o2::framework::expressions::is_literal_like |
| concepts | |
| concept | o2::framework::expressions::is_binding |
| concept | o2::framework::expressions::is_operation |
| concept | o2::framework::expressions::is_conditional |
| concept | o2::framework::expressions::arithmetic |
| helper concepts | |
| concept | o2::framework::expressions::is_filter |
Macros | |
| #define | SELECT_ARROW_TYPE(_Ctype_, _Atype_) |
| #define | BINARY_OP_NODES(_operator_, _operation_) |
| overloaded operators to build the tree from an expression | |
| #define | BINARY_FUNC_NODES(_func_, _node_) |
| #define | ncheckbit(_node_, _bit_) ((_node_ & _bit_) == _bit_) |
| #define | UNARY_FUNC_NODES(_func_, _node_) |
| unary functions on nodes | |
Typedefs | |
| using | gandiva::Selection = std::shared_ptr< gandiva::SelectionVector > |
| using | gandiva::FilterPtr = std::shared_ptr< gandiva::Filter > |
| using | atype = arrow::Type |
| using | o2::framework::expressions::LiteralValue = LiteralStorage< int, bool, float, double, uint8_t, int64_t, int16_t, uint16_t, int8_t, uint32_t, uint64_t > |
| using | o2::framework::expressions::Projector = Filter |
| using | o2::framework::expressions::Operations = std::vector< ColumnOperationSpec > |
Enumerations | |
| enum | o2::framework::expressions::Token : int { o2::framework::expressions::EoL = -1 , o2::framework::expressions::Identifier = -2 , o2::framework::expressions::IntegerNumber = -3 , o2::framework::expressions::FloatNumber = -4 , o2::framework::expressions::BinaryOp = -5 , o2::framework::expressions::Unexpected = -100 } |
| String parsing. More... | |
Functions | |
| void | o2::framework::expressions::unknownParameterUsed (const char *name) |
| const char * | o2::framework::expressions::stringType (atype::type t) |
| template<typename T > | |
| constexpr auto | o2::framework::expressions::selectArrowType () |
| o2::framework::expressions::SELECT_ARROW_TYPE (bool, BOOL) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (float, FLOAT) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (double, DOUBLE) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (uint8_t, UINT8) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (int8_t, INT8) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (uint16_t, UINT16) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (int16_t, INT16) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (uint32_t, UINT32) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (int32_t, INT32) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (uint64_t, UINT64) | |
| o2::framework::expressions::SELECT_ARROW_TYPE (int64_t, INT64) | |
| std::shared_ptr< arrow::DataType > | o2::framework::expressions::concreteArrowType (atype::type type) |
| std::string | o2::framework::expressions::upcastTo (atype::type f) |
| template<typename AT , typename T > | |
| PlaceholderNode | o2::framework::expressions::as (Configurable< T > const &v) |
| template<typename L > | |
| void | o2::framework::expressions::walk (Node *head, L &&pred) |
| Tree-walker helper. | |
| o2::framework::expressions::BINARY_OP_NODES (|, BitwiseOr) | |
| o2::framework::expressions::BINARY_OP_NODES (+, Addition) | |
| o2::framework::expressions::BINARY_OP_NODES (-, Subtraction) | |
| o2::framework::expressions::BINARY_OP_NODES (/, Division) | |
| o2::framework::expressions::BINARY_OP_NODES (>, GreaterThan) | |
| o2::framework::expressions::BINARY_OP_NODES (>=, GreaterThanOrEqual) | |
| o2::framework::expressions::BINARY_OP_NODES (<, LessThan) | |
| o2::framework::expressions::BINARY_OP_NODES (<=, LessThanOrEqual) | |
| o2::framework::expressions::BINARY_OP_NODES (==, Equal) | |
| o2::framework::expressions::BINARY_OP_NODES (!=, NotEqual) | |
| o2::framework::expressions::BINARY_OP_NODES (||, LogicalOr) | |
| template<arithmetic T> | |
| Node | o2::framework::expressions::npow (Node &&left, T right) |
| functions | |
| o2::framework::expressions::BINARY_FUNC_NODES (Atan2, natan2) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Round, nround) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Sqrt, nsqrt) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Exp, nexp) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Log, nlog) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Log10, nlog10) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Abs, nabs) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Sin, nsin) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Cos, ncos) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Tan, ntan) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Asin, nasin) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Acos, nacos) | |
| o2::framework::expressions::UNARY_FUNC_NODES (Atan, natan) | |
| o2::framework::expressions::UNARY_FUNC_NODES (BitwiseNot, nbitwise_not) | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, Node &&then_, Node &&else_) |
| conditionals | |
| template<arithmetic L> | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, Node &&then_, L else_) |
| template<arithmetic L> | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, L then_, Node &&else_) |
| template<arithmetic L1, arithmetic L2> | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, L1 then_, L2 else_) |
| template<typename T > | |
| Node | o2::framework::expressions::ifnode (Configurable< T > const &condition_, Node &&then_, Node &&else_) |
| template<typename L > | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, Node &&then_, Configurable< L > const &else_) |
| template<typename L > | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, Configurable< L > const &then_, Node &&else_) |
| template<typename L1 , typename L2 > | |
| Node | o2::framework::expressions::ifnode (Node &&condition_, Configurable< L1 > const &then_, Configurable< L2 > const &else_) |
| Node | o2::framework::expressions::par (int index) |
| Parameters. | |
| template<typename T > | |
| Node | o2::framework::expressions::binned (std::vector< T > const &binning, std::vector< T > const ¶meters, Node &&binned, Node &&pexp, Node &&out) |
| binned functional | |
| template<typename T > | |
| Node | o2::framework::expressions::updateParameters (Node const &pexp, int bins, std::vector< T > const ¶meters, int bin) |
| template<typename T > | |
| Node | o2::framework::expressions::clamp (Node &&expr, T low, T hi) |
| clamping functional | |
| Node | o2::framework::expressions::protect0 (Node &&expr) |
| division by 0 protector | |
| template<typename T > | |
| Node | o2::framework::expressions::ncfg (T defaultValue, std::string path) |
| context-independent configurable | |
| gandiva::Selection | o2::framework::expressions::createSelection (std::shared_ptr< arrow::Table > const &table, Filter const &expression) |
| Function for creating gandiva selection from our internal filter tree. | |
| gandiva::Selection | o2::framework::expressions::createSelection (std::shared_ptr< arrow::Table > const &table, std::shared_ptr< gandiva::Filter > const &gfilter) |
| Function for creating gandiva selection from prepared gandiva expressions tree. | |
| Operations | o2::framework::expressions::createOperations (Filter const &expression) |
| Function to create an internal operation sequence from a filter tree. | |
| bool | o2::framework::expressions::isTableCompatible (std::set< uint32_t > const &hashes, Operations const &specs) |
| Function to check compatibility of a given arrow schema with operation sequence. | |
| gandiva::NodePtr | o2::framework::expressions::createExpressionTree (Operations const &opSpecs, gandiva::SchemaPtr const &Schema) |
| Function to create gandiva expression tree from operation sequence. | |
| std::shared_ptr< gandiva::Filter > | o2::framework::expressions::createFilter (gandiva::SchemaPtr const &Schema, gandiva::ConditionPtr condition) |
| Function to create gandiva filter from gandiva condition. | |
| std::shared_ptr< gandiva::Filter > | o2::framework::expressions::createFilter (gandiva::SchemaPtr const &Schema, Operations const &opSpecs) |
| Function to create gandiva filter from operation sequence. | |
| std::shared_ptr< gandiva::Projector > | o2::framework::expressions::createProjector (gandiva::SchemaPtr const &Schema, Operations const &opSpecs, gandiva::FieldPtr result) |
| Function to create gandiva projector from operation sequence. | |
| std::shared_ptr< gandiva::Projector > | o2::framework::expressions::createProjector (gandiva::SchemaPtr const &Schema, Projector &&p, gandiva::FieldPtr result) |
| Function to create gandiva projector directly from expression. | |
| void | o2::framework::expressions::updateExpressionInfos (expressions::Filter const &filter, std::vector< ExpressionInfo > &eInfos) |
| Function for attaching gandiva filters to to compatible task inputs. | |
| gandiva::ConditionPtr | o2::framework::expressions::makeCondition (gandiva::NodePtr node) |
| Function to create gandiva condition expression from generic gandiva expression tree. | |
| gandiva::ExpressionPtr | o2::framework::expressions::makeExpression (gandiva::NodePtr node, gandiva::FieldPtr result) |
| Function to create gandiva projecting expression from generic gandiva expression tree. | |
| void | o2::framework::expressions::updatePlaceholders (Filter &filter, InitContext &context) |
| Update placeholder nodes from context. | |
| std::shared_ptr< gandiva::Projector > | o2::framework::expressions::createProjectorHelper (size_t nColumns, expressions::Projector *projectors, std::shared_ptr< arrow::Schema > schema, std::vector< std::shared_ptr< arrow::Field > > const &fields) |
| template<typename... C> | |
| std::shared_ptr< gandiva::Projector > | o2::framework::expressions::createProjectors (framework::pack< C... >, std::vector< std::shared_ptr< arrow::Field > > const &fields, gandiva::SchemaPtr schema) |
| void | o2::framework::expressions::updateFilterInfo (ExpressionInfo &info, std::shared_ptr< arrow::Table > &table) |
| #define BINARY_FUNC_NODES | ( | _func_, | |
| _node_ | |||
| ) |
Definition at line 435 of file Expressions.h.
| #define BINARY_OP_NODES | ( | _operator_, | |
| _operation_ | |||
| ) |
overloaded operators to build the tree from an expression
Definition at line 364 of file Expressions.h.
| #define ncheckbit | ( | _node_, | |
| _bit_ | |||
| ) | ((_node_ & _bit_) == _bit_) |
Definition at line 487 of file Expressions.h.
| #define SELECT_ARROW_TYPE | ( | _Ctype_, | |
| _Atype_ | |||
| ) |
Definition at line 88 of file Expressions.h.
| #define UNARY_FUNC_NODES | ( | _func_, | |
| _node_ | |||
| ) |
unary functions on nodes
Definition at line 490 of file Expressions.h.
| using atype = arrow::Type |
Definition at line 50 of file Expressions.h.