31 auto size = inputs.
size();
34 for (int64_t i = 0; i < size; i++) {
38 outputs[i] = inputs[i];
44 #define INSTANTIATE_CT_COPY(T) \
45 template NEVER_INLINE HOST int32_t ct_copy__generic_cpu_template( \
46 TableFunctionManager& mgr, const Column<T>& inputs, Column<T>& outputs);
60 auto size = input1.size();
61 mgr.set_output_item_values_total_number(0,
62 input1.getNofValues() + input2.getNofValues());
63 mgr.set_output_row_size(size);
64 for (int64_t i = 0; i < size; i++) {
65 if (input1.isNull(i)) {
66 if (input2.isNull(i)) {
69 outputs[i] = input2[i];
71 }
else if (input2.isNull(i)) {
72 outputs[i] = input1[i];
74 outputs[i] = input1[i];
75 outputs.concatItem(i, input2[i]);
81 #define INSTANTIATE_CT_CONCAT(T) \
82 template NEVER_INLINE HOST int32_t ct_concat__generic_cpu_template( \
83 TableFunctionManager& mgr, \
84 const Column<T>& input1, \
85 const Column<T>& input2, \
95 auto size = input1.size();
96 mgr.set_output_item_values_total_number(0,
97 input1.getNofValues() + size * input2.size());
98 mgr.set_output_row_size(size);
99 for (int64_t i = 0; i < size; i++) {
100 if (input1.isNull(i) || input2.isNull()) {
103 output[i] = input1[i];
110 #define INSTANTIATE_CT_CONCAT2(T) \
111 template NEVER_INLINE HOST int32_t ct_concat__generic2_cpu_template( \
112 TableFunctionManager& mgr, \
113 const Column<T>& input1, \
120 template <typename
T>
125 auto size = input2.size();
126 mgr.set_output_item_values_total_number(0,
127 input2.getNofValues() + size * input1.size());
128 mgr.set_output_row_size(size);
129 for (int64_t i = 0; i < size; i++) {
130 if (input2.isNull(i) || input1.isNull()) {
134 output[i] += input2[i];
140 #define INSTANTIATE_CT_CONCAT3(T) \
141 template NEVER_INLINE HOST int32_t ct_concat__generic3_cpu_template( \
142 TableFunctionManager& mgr, \
144 const Column<T>& input2, \
#define INSTANTIATE_CT_CONCAT2(T)
void set_output_row_size(int64_t num_rows)
NEVER_INLINE HOST int32_t ct_concat__generic3_cpu_template(TableFunctionManager &mgr, const T &input1, const Column< T > &input2, Column< T > &output)
#define INSTANTIATE_CT_CONCAT3(T)
NEVER_INLINE HOST int32_t ct_copy__generic_cpu_template(TableFunctionManager &mgr, const Column< T > &inputs, Column< T > &outputs)
Simplified core of GeoJSON Polygon coordinates definition.
DEVICE int64_t size() const
Simplified core of GeoJSON MultiPolygon coordinates definition.
#define INSTANTIATE_CT_COPY(T)
DEVICE bool isNull(int64_t index) const
DEVICE void setNull(int64_t index)
void set_output_item_values_total_number(int32_t index, int64_t output_item_values_total_number)
NEVER_INLINE HOST int32_t ct_concat__generic2_cpu_template(TableFunctionManager &mgr, const Column< T > &input1, const T &input2, Column< T > &output)
#define INSTANTIATE_CT_CONCAT(T)
NEVER_INLINE HOST int32_t ct_concat__generic_cpu_template(TableFunctionManager &mgr, const Column< T > &input1, const Column< T > &input2, Column< T > &outputs)