12#include <catch_amalgamated.hpp>
46 for (
auto i = 1;
i < 10; ++
i) {
47 w1(0,
i * 2.,
i * 3.,
i * 4.);
50 auto t1 =
b1.finalize();
53 auto expoints_a = o2::soa::Extend<o2::aod::Points, test::Rsq, test::Sin>(st1);
56 auto expoints = ExPoints{{
t1, extension.asArrowTable()}, 0};
58 REQUIRE(expoints_a.size() == 9);
59 REQUIRE(extension.size() == 9);
60 REQUIRE(expoints.size() == 9);
62 auto rex = extension.begin();
63 auto rexp = expoints.begin();
64 auto rexp_a = expoints_a.begin();
66 for (
auto i = 1;
i < 10; ++
i) {
67 float rsq =
i *
i * 4 +
i *
i * 9 +
i *
i * 16;
68 float sin =
i * 2 / std::sqrt(
i *
i * 4 +
i *
i * 9);
69 REQUIRE(rexp_a.rsq() == rsq);
70 REQUIRE(rex.rsq() == rsq);
71 REQUIRE(rexp.rsq() == rsq);
72 REQUIRE(rexp_a.sin() == sin);
73 REQUIRE(rex.sin() == sin);
74 REQUIRE(rexp.sin() == sin);
81 excpts.
projectors[0] = test::x * test::x + test::y * test::y + test::z * test::z;
84 auto excpoints = ExcPoints{{
t1, extension_2.asArrowTable()}, 0};
86 rex = extension.begin();
87 auto rex_2 = extension_2.begin();
88 auto rexcp = excpoints.begin();
90 for (
auto i = 1;
i < 10; ++
i) {
91 float rsq =
i *
i * 4 +
i *
i * 9 +
i *
i * 16;
92 REQUIRE(rex.rsq() == rsq);
93 REQUIRE(rex_2.cfg() == rsq);
94 REQUIRE(rexcp.cfg() == rsq);
#define DECLARE_SOA_TABLE(_Name_, _Origin_, _Desc_,...)
#define DECLARE_SOA_CONFIGURABLE_EXTENDED_TABLE(_Name_, _Table_, _Description_,...)
#define DECLARE_SOA_EXPRESSION_COLUMN(_Name_, _Getter_, _Type_, _Expression_)
#define DECLARE_SOA_COLUMN(_Name_, _Getter_, _Type_)
#define DECLARE_SOA_CONFIGURABLE_EXPRESSION_COLUMN(_Name_, _Getter_, _Type_, _Label_)
#define DECLARE_SOA_EXTENDED_TABLE(_Name_, _Table_, _Description_, _Version_,...)
const GPUTPCGMMerger::trackCluster & b1
GLdouble GLdouble GLdouble z
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t1
Defining PrimaryVertex explicitly as messageable.
auto spawner(std::shared_ptr< arrow::Table > const &fullTable, const char *name, o2::framework::expressions::Projector *projectors, std::shared_ptr< gandiva::Projector > &projector, std::shared_ptr< arrow::Schema > const &schema)
Expression-based column generator to materialize columns.
TEST_CASE("test_prepareArguments")
FIXME: do not use data model tables.
std::array< o2::framework::expressions::Projector, N > projectors
std::shared_ptr< arrow::Schema > schema
std::shared_ptr< gandiva::Projector > projector