Coverage Report

Created: 2026-11-02 05:58

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/if.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
// This file is copied from
18
// https://github.com/ClickHouse/ClickHouse/blob/master/src/Functions/If.cpp
19
// and modified by Doris
20
21
#include <glog/logging.h>
22
#include <stddef.h>
23
24
#include <boost/iterator/iterator_facade.hpp>
25
26
#include "core/column/column.h"
27
#include "core/column/column_vector.h"
28
#include "core/data_type/data_type.h"
29
#include "core/data_type/primitive_type.h"
30
#include "core/pod_array_fwd.h"
31
#include "core/types.h"
32
#include "exprs/function/function_helpers.h"
33
34
#ifdef __ARM_NEON
35
#include <arm_acle.h>
36
#include <arm_neon.h>
37
#endif
38
39
namespace doris {
40
41
template <PrimitiveType PType>
42
struct NumIfImpl {
43
private:
44
    using Type = typename PrimitiveTypeTraits<PType>::CppType;
45
    using ArrayCond = PaddedPODArray<UInt8>;
46
    using Array = PaddedPODArray<Type>;
47
    using ColVecT = typename PrimitiveTypeTraits<PType>::ColumnType;
48
49
public:
50
1.45k
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
1.45k
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
1.45k
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
352
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
352
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
352
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
454
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
454
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
454
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
4
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
4
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
22
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
22
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
22
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
250
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
250
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
250
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
4
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
4
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
4
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
4
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
22
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
22
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
22
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE26get_data_from_column_constEPKNS_11ColumnConstE
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
7
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
7
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
7
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE26get_data_from_column_constEPKNS_11ColumnConstE
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
16
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
16
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
16
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE26get_data_from_column_constEPKNS_11ColumnConstE
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE26get_data_from_column_constEPKNS_11ColumnConstE
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
4
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
4
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
4
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE26get_data_from_column_constEPKNS_11ColumnConstE
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
56
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
56
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
56
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE26get_data_from_column_constEPKNS_11ColumnConstE
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE26get_data_from_column_constEPKNS_11ColumnConstE
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE26get_data_from_column_constEPKNS_11ColumnConstE
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE26get_data_from_column_constEPKNS_11ColumnConstE
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE26get_data_from_column_constEPKNS_11ColumnConstE
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE26get_data_from_column_constEPKNS_11ColumnConstE
Line
Count
Source
50
263
    static const Array& get_data_from_column_const(const ColumnConst* column) {
51
263
        return assert_cast<const ColVecT&>(column->get_data_column()).get_data();
52
263
    }
53
54
1.44k
    static auto create_column(const ArrayCond& cond, int scale) {
55
1.44k
        if constexpr (is_decimal(PType)) {
56
26
            return ColVecT::create(cond.size(), scale);
57
1.42k
        } else {
58
1.42k
            return ColVecT::create(cond.size());
59
1.42k
        }
60
1.44k
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
460
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
460
        } else {
58
460
            return ColVecT::create(cond.size());
59
460
        }
60
460
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
237
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
237
        } else {
58
237
            return ColVecT::create(cond.size());
59
237
        }
60
237
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
4
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
4
        } else {
58
4
            return ColVecT::create(cond.size());
59
4
        }
60
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
70
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
70
        } else {
58
70
            return ColVecT::create(cond.size());
59
70
        }
60
70
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
236
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
236
        } else {
58
236
            return ColVecT::create(cond.size());
59
236
        }
60
236
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
4
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
4
        } else {
58
4
            return ColVecT::create(cond.size());
59
4
        }
60
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
4
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
4
        } else {
58
4
            return ColVecT::create(cond.size());
59
4
        }
60
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
27
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
27
        } else {
58
27
            return ColVecT::create(cond.size());
59
27
        }
60
27
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
7
    static auto create_column(const ArrayCond& cond, int scale) {
55
7
        if constexpr (is_decimal(PType)) {
56
7
            return ColVecT::create(cond.size(), scale);
57
        } else {
58
            return ColVecT::create(cond.size());
59
        }
60
7
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
18
    static auto create_column(const ArrayCond& cond, int scale) {
55
18
        if constexpr (is_decimal(PType)) {
56
18
            return ColVecT::create(cond.size(), scale);
57
        } else {
58
            return ColVecT::create(cond.size());
59
        }
60
18
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
1
    static auto create_column(const ArrayCond& cond, int scale) {
55
1
        if constexpr (is_decimal(PType)) {
56
1
            return ColVecT::create(cond.size(), scale);
57
        } else {
58
            return ColVecT::create(cond.size());
59
        }
60
1
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
4
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
4
        } else {
58
4
            return ColVecT::create(cond.size());
59
4
        }
60
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
9
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
9
        } else {
58
9
            return ColVecT::create(cond.size());
59
9
        }
60
9
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
97
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
97
        } else {
58
97
            return ColVecT::create(cond.size());
59
97
        }
60
97
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE13create_columnERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEi
Line
Count
Source
54
271
    static auto create_column(const ArrayCond& cond, int scale) {
55
        if constexpr (is_decimal(PType)) {
56
            return ColVecT::create(cond.size(), scale);
57
271
        } else {
58
271
            return ColVecT::create(cond.size());
59
271
        }
60
271
    }
61
62
    static ColumnPtr execute_if(const ArrayCond& cond, const ColumnPtr& then_col,
63
1.45k
                                const ColumnPtr& else_col, int result_scale) {
64
1.45k
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
623
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
346
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
346
                                                  result_scale);
68
346
            } else if (const auto* col_const_else =
69
277
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
277
                return execute_impl<false, true>(cond, col_then->get_data(),
71
277
                                                 get_data_from_column_const(col_const_else),
72
277
                                                 result_scale);
73
277
            }
74
827
        } else if (const auto* col_const_then =
75
828
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
828
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
475
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
475
                                                 col_else->get_data(), result_scale);
79
475
            } else if (const auto* col_const_else =
80
353
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
353
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
353
                                                get_data_from_column_const(col_const_else),
83
353
                                                result_scale);
84
353
            }
85
828
        }
86
18.4E
        return nullptr;
87
1.45k
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
460
                                const ColumnPtr& else_col, int result_scale) {
64
460
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
203
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
150
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
150
                                                  result_scale);
68
150
            } else if (const auto* col_const_else =
69
53
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
53
                return execute_impl<false, true>(cond, col_then->get_data(),
71
53
                                                 get_data_from_column_const(col_const_else),
72
53
                                                 result_scale);
73
53
            }
74
257
        } else if (const auto* col_const_then =
75
257
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
257
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
215
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
215
                                                 col_else->get_data(), result_scale);
79
215
            } else if (const auto* col_const_else =
80
42
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
42
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
42
                                                get_data_from_column_const(col_const_else),
83
42
                                                result_scale);
84
42
            }
85
257
        }
86
0
        return nullptr;
87
460
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
237
                                const ColumnPtr& else_col, int result_scale) {
64
237
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
4
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
1
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
1
                                                  result_scale);
68
3
            } else if (const auto* col_const_else =
69
3
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
3
                return execute_impl<false, true>(cond, col_then->get_data(),
71
3
                                                 get_data_from_column_const(col_const_else),
72
3
                                                 result_scale);
73
3
            }
74
233
        } else if (const auto* col_const_then =
75
233
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
233
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
15
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
15
                                                 col_else->get_data(), result_scale);
79
218
            } else if (const auto* col_const_else =
80
218
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
218
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
218
                                                get_data_from_column_const(col_const_else),
83
218
                                                result_scale);
84
218
            }
85
233
        }
86
0
        return nullptr;
87
237
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
4
                                const ColumnPtr& else_col, int result_scale) {
64
4
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
1
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
1
                                                  result_scale);
68
1
            } else if (const auto* col_const_else =
69
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
1
                return execute_impl<false, true>(cond, col_then->get_data(),
71
1
                                                 get_data_from_column_const(col_const_else),
72
1
                                                 result_scale);
73
1
            }
74
2
        } else if (const auto* col_const_then =
75
2
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
1
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
1
                                                 col_else->get_data(), result_scale);
79
1
            } else if (const auto* col_const_else =
80
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
1
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
1
                                                get_data_from_column_const(col_const_else),
83
1
                                                result_scale);
84
1
            }
85
2
        }
86
0
        return nullptr;
87
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
70
                                const ColumnPtr& else_col, int result_scale) {
64
70
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
55
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
50
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
50
                                                  result_scale);
68
50
            } else if (const auto* col_const_else =
69
5
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
5
                return execute_impl<false, true>(cond, col_then->get_data(),
71
5
                                                 get_data_from_column_const(col_const_else),
72
5
                                                 result_scale);
73
5
            }
74
55
        } else if (const auto* col_const_then =
75
16
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
16
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
15
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
15
                                                 col_else->get_data(), result_scale);
79
15
            } else if (const auto* col_const_else =
80
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
1
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
1
                                                get_data_from_column_const(col_const_else),
83
1
                                                result_scale);
84
1
            }
85
16
        }
86
18.4E
        return nullptr;
87
70
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
237
                                const ColumnPtr& else_col, int result_scale) {
64
237
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
145
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
17
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
17
                                                  result_scale);
68
128
            } else if (const auto* col_const_else =
69
128
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
128
                return execute_impl<false, true>(cond, col_then->get_data(),
71
128
                                                 get_data_from_column_const(col_const_else),
72
128
                                                 result_scale);
73
128
            }
74
145
        } else if (const auto* col_const_then =
75
92
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
92
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
62
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
62
                                                 col_else->get_data(), result_scale);
79
62
            } else if (const auto* col_const_else =
80
30
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
30
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
30
                                                get_data_from_column_const(col_const_else),
83
30
                                                result_scale);
84
30
            }
85
92
        }
86
0
        return nullptr;
87
237
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
4
                                const ColumnPtr& else_col, int result_scale) {
64
4
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
1
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
1
                                                  result_scale);
68
1
            } else if (const auto* col_const_else =
69
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
1
                return execute_impl<false, true>(cond, col_then->get_data(),
71
1
                                                 get_data_from_column_const(col_const_else),
72
1
                                                 result_scale);
73
1
            }
74
2
        } else if (const auto* col_const_then =
75
2
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
1
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
1
                                                 col_else->get_data(), result_scale);
79
1
            } else if (const auto* col_const_else =
80
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
1
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
1
                                                get_data_from_column_const(col_const_else),
83
1
                                                result_scale);
84
1
            }
85
2
        }
86
0
        return nullptr;
87
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
4
                                const ColumnPtr& else_col, int result_scale) {
64
4
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
1
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
1
                                                  result_scale);
68
1
            } else if (const auto* col_const_else =
69
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
1
                return execute_impl<false, true>(cond, col_then->get_data(),
71
1
                                                 get_data_from_column_const(col_const_else),
72
1
                                                 result_scale);
73
1
            }
74
2
        } else if (const auto* col_const_then =
75
2
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
2
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
1
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
1
                                                 col_else->get_data(), result_scale);
79
1
            } else if (const auto* col_const_else =
80
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
1
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
1
                                                get_data_from_column_const(col_const_else),
83
1
                                                result_scale);
84
1
            }
85
2
        }
86
0
        return nullptr;
87
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
27
                                const ColumnPtr& else_col, int result_scale) {
64
27
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
14
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
12
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
12
                                                  result_scale);
68
12
            } else if (const auto* col_const_else =
69
2
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
2
                return execute_impl<false, true>(cond, col_then->get_data(),
71
2
                                                 get_data_from_column_const(col_const_else),
72
2
                                                 result_scale);
73
2
            }
74
14
        } else if (const auto* col_const_then =
75
13
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
13
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
6
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
6
                                                 col_else->get_data(), result_scale);
79
7
            } else if (const auto* col_const_else =
80
7
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
7
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
7
                                                get_data_from_column_const(col_const_else),
83
7
                                                result_scale);
84
7
            }
85
13
        }
86
0
        return nullptr;
87
27
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
7
                                const ColumnPtr& else_col, int result_scale) {
64
7
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
1
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
0
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
0
                                                  result_scale);
68
1
            } else if (const auto* col_const_else =
69
1
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
1
                return execute_impl<false, true>(cond, col_then->get_data(),
71
1
                                                 get_data_from_column_const(col_const_else),
72
1
                                                 result_scale);
73
1
            }
74
6
        } else if (const auto* col_const_then =
75
6
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
6
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
6
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
6
                                                 col_else->get_data(), result_scale);
79
6
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
6
        }
86
0
        return nullptr;
87
7
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
18
                                const ColumnPtr& else_col, int result_scale) {
64
18
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
18
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
2
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
2
                                                  result_scale);
68
16
            } else if (const auto* col_const_else =
69
16
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
16
                return execute_impl<false, true>(cond, col_then->get_data(),
71
16
                                                 get_data_from_column_const(col_const_else),
72
16
                                                 result_scale);
73
16
            }
74
18
        } else if (const auto* col_const_then =
75
0
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
0
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
0
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
0
                                                 col_else->get_data(), result_scale);
79
0
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
0
        }
86
0
        return nullptr;
87
18
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
1
                                const ColumnPtr& else_col, int result_scale) {
64
1
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
1
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
1
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
1
                                                  result_scale);
68
1
            } else if (const auto* col_const_else =
69
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
0
                return execute_impl<false, true>(cond, col_then->get_data(),
71
0
                                                 get_data_from_column_const(col_const_else),
72
0
                                                 result_scale);
73
0
            }
74
1
        } else if (const auto* col_const_then =
75
0
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
0
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
0
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
0
                                                 col_else->get_data(), result_scale);
79
0
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
0
        }
86
0
        return nullptr;
87
1
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
4
                                const ColumnPtr& else_col, int result_scale) {
64
4
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
0
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
0
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
0
                                                  result_scale);
68
0
            } else if (const auto* col_const_else =
69
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
0
                return execute_impl<false, true>(cond, col_then->get_data(),
71
0
                                                 get_data_from_column_const(col_const_else),
72
0
                                                 result_scale);
73
0
            }
74
4
        } else if (const auto* col_const_then =
75
4
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
4
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
4
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
4
                                                 col_else->get_data(), result_scale);
79
4
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
4
        }
86
0
        return nullptr;
87
4
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
9
                                const ColumnPtr& else_col, int result_scale) {
64
9
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
9
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
9
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
9
                                                  result_scale);
68
9
            } else if (const auto* col_const_else =
69
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
0
                return execute_impl<false, true>(cond, col_then->get_data(),
71
0
                                                 get_data_from_column_const(col_const_else),
72
0
                                                 result_scale);
73
0
            }
74
9
        } else if (const auto* col_const_then =
75
0
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
0
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
0
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
0
                                                 col_else->get_data(), result_scale);
79
0
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
0
        }
86
0
        return nullptr;
87
9
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
97
                                const ColumnPtr& else_col, int result_scale) {
64
97
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
53
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
41
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
41
                                                  result_scale);
68
41
            } else if (const auto* col_const_else =
69
12
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
12
                return execute_impl<false, true>(cond, col_then->get_data(),
71
12
                                                 get_data_from_column_const(col_const_else),
72
12
                                                 result_scale);
73
12
            }
74
53
        } else if (const auto* col_const_then =
75
44
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
44
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
44
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
44
                                                 col_else->get_data(), result_scale);
79
44
            } else if (const auto* col_const_else =
80
0
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
0
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
0
                                                get_data_from_column_const(col_const_else),
83
0
                                                result_scale);
84
0
            }
85
44
        }
86
0
        return nullptr;
87
97
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE10execute_ifERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS_3COWINS_7IColumnEE13immutable_ptrISB_EESG_i
Line
Count
Source
63
271
                                const ColumnPtr& else_col, int result_scale) {
64
271
        if (const auto* col_then = check_and_get_column<ColVecT>(then_col.get())) {
65
114
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
66
60
                return execute_impl<false, false>(cond, col_then->get_data(), col_else->get_data(),
67
60
                                                  result_scale);
68
60
            } else if (const auto* col_const_else =
69
54
                               check_and_get_column_const<ColVecT>(else_col.get())) {
70
54
                return execute_impl<false, true>(cond, col_then->get_data(),
71
54
                                                 get_data_from_column_const(col_const_else),
72
54
                                                 result_scale);
73
54
            }
74
157
        } else if (const auto* col_const_then =
75
157
                           check_and_get_column_const<ColVecT>(then_col.get())) {
76
157
            if (const auto* col_else = check_and_get_column<ColVecT>(else_col.get())) {
77
105
                return execute_impl<true, false>(cond, get_data_from_column_const(col_const_then),
78
105
                                                 col_else->get_data(), result_scale);
79
105
            } else if (const auto* col_const_else =
80
52
                               check_and_get_column_const<ColVecT>(else_col.get())) {
81
52
                return execute_impl<true, true>(cond, get_data_from_column_const(col_const_then),
82
52
                                                get_data_from_column_const(col_const_else),
83
52
                                                result_scale);
84
52
            }
85
157
        }
86
0
        return nullptr;
87
271
    }
88
89
private:
90
    template <bool is_const_a, bool is_const_b>
91
    static ColumnPtr execute_impl(const ArrayCond& cond, const Array& a, const Array& b,
92
1.45k
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1.45k
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1.45k
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
92
150
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
150
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
150
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
92
53
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
53
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
53
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
92
215
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
215
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
215
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
92
42
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
42
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
42
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
3
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
3
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
3
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
15
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
15
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
15
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
218
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
218
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
218
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
50
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
50
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
50
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
5
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
5
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
5
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
15
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
15
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
15
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
17
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
17
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
17
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
128
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
128
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
128
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
62
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
62
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
62
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
30
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
30
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
30
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
12
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
12
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
12
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
2
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
2
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
2
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
6
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
6
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
6
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
7
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
7
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
7
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Line
Count
Source
92
6
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
6
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
6
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
92
2
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
2
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
2
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
92
16
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
16
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
16
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Line
Count
Source
92
1
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
1
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
1
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Line
Count
Source
92
4
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
4
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
4
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Line
Count
Source
92
9
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
9
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
9
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
92
41
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
41
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
41
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
92
12
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
12
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
12
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
92
44
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
44
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
44
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE12execute_implILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
60
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
60
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
60
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE12execute_implILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
54
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
54
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
54
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE12execute_implILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
105
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
105
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
105
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE12execute_implILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
92
52
                                  int result_scale) {
93
#ifdef __ARM_NEON
94
        if constexpr (can_use_neon_opt()) {
95
            auto col_res = create_column(cond, result_scale);
96
            auto res = col_res->get_data().data();
97
            neon_execute<is_const_a, is_const_b>(cond.data(), res, a.data(), b.data(), cond.size());
98
            return col_res;
99
        }
100
#endif
101
52
        return native_execute<is_const_a, is_const_b>(cond, a, b, result_scale);
102
52
    }
103
104
    // res[i] = cond[i] ? a[i] : b[i];
105
    template <bool is_const_a, bool is_const_b>
106
    static ColumnPtr native_execute(const ArrayCond& cond, const Array& a, const Array& b,
107
1.44k
                                    int result_scale) {
108
1.44k
        size_t size = cond.size();
109
1.44k
        auto col_res = create_column(cond, result_scale);
110
1.44k
        auto& res = col_res->get_data();
111
957k
        for (size_t i = 0; i < size; ++i) {
112
956k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
956k
                             : b[index_check_const<is_const_b>(i)];
114
956k
        }
115
1.44k
        return col_res;
116
1.44k
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
107
150
                                    int result_scale) {
108
150
        size_t size = cond.size();
109
150
        auto col_res = create_column(cond, result_scale);
110
150
        auto& res = col_res->get_data();
111
13.1k
        for (size_t i = 0; i < size; ++i) {
112
12.9k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
12.9k
                             : b[index_check_const<is_const_b>(i)];
114
12.9k
        }
115
150
        return col_res;
116
150
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
107
53
                                    int result_scale) {
108
53
        size_t size = cond.size();
109
53
        auto col_res = create_column(cond, result_scale);
110
53
        auto& res = col_res->get_data();
111
434
        for (size_t i = 0; i < size; ++i) {
112
381
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
381
                             : b[index_check_const<is_const_b>(i)];
114
381
        }
115
53
        return col_res;
116
53
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
107
215
                                    int result_scale) {
108
215
        size_t size = cond.size();
109
215
        auto col_res = create_column(cond, result_scale);
110
215
        auto& res = col_res->get_data();
111
9.98k
        for (size_t i = 0; i < size; ++i) {
112
9.76k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
9.76k
                             : b[index_check_const<is_const_b>(i)];
114
9.76k
        }
115
215
        return col_res;
116
215
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE2EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SF_i
Line
Count
Source
107
42
                                    int result_scale) {
108
42
        size_t size = cond.size();
109
42
        auto col_res = create_column(cond, result_scale);
110
42
        auto& res = col_res->get_data();
111
462
        for (size_t i = 0; i < size; ++i) {
112
420
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
420
                             : b[index_check_const<is_const_b>(i)];
114
420
        }
115
42
        return col_res;
116
42
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
3
                                    int result_scale) {
108
3
        size_t size = cond.size();
109
3
        auto col_res = create_column(cond, result_scale);
110
3
        auto& res = col_res->get_data();
111
1.06k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
3
        return col_res;
116
3
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
15
                                    int result_scale) {
108
15
        size_t size = cond.size();
109
15
        auto col_res = create_column(cond, result_scale);
110
15
        auto& res = col_res->get_data();
111
1.11k
        for (size_t i = 0; i < size; ++i) {
112
1.09k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.09k
                             : b[index_check_const<is_const_b>(i)];
114
1.09k
        }
115
15
        return col_res;
116
15
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE3EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IaLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
218
                                    int result_scale) {
108
218
        size_t size = cond.size();
109
218
        auto col_res = create_column(cond, result_scale);
110
218
        auto& res = col_res->get_data();
111
33.1k
        for (size_t i = 0; i < size; ++i) {
112
32.9k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
32.9k
                             : b[index_check_const<is_const_b>(i)];
114
32.9k
        }
115
218
        return col_res;
116
218
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE4EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IsLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
49
                                    int result_scale) {
108
49
        size_t size = cond.size();
109
49
        auto col_res = create_column(cond, result_scale);
110
49
        auto& res = col_res->get_data();
111
6.35k
        for (size_t i = 0; i < size; ++i) {
112
6.30k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
6.30k
                             : b[index_check_const<is_const_b>(i)];
114
6.30k
        }
115
49
        return col_res;
116
49
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
5
                                    int result_scale) {
108
5
        size_t size = cond.size();
109
5
        auto col_res = create_column(cond, result_scale);
110
5
        auto& res = col_res->get_data();
111
1.07k
        for (size_t i = 0; i < size; ++i) {
112
1.07k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.07k
                             : b[index_check_const<is_const_b>(i)];
114
1.07k
        }
115
5
        return col_res;
116
5
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
15
                                    int result_scale) {
108
15
        size_t size = cond.size();
109
15
        auto col_res = create_column(cond, result_scale);
110
15
        auto& res = col_res->get_data();
111
1.11k
        for (size_t i = 0; i < size; ++i) {
112
1.09k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.09k
                             : b[index_check_const<is_const_b>(i)];
114
1.09k
        }
115
15
        return col_res;
116
15
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE5EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IiLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
16
                                    int result_scale) {
108
16
        size_t size = cond.size();
109
16
        auto col_res = create_column(cond, result_scale);
110
16
        auto& res = col_res->get_data();
111
1.17k
        for (size_t i = 0; i < size; ++i) {
112
1.16k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.16k
                             : b[index_check_const<is_const_b>(i)];
114
1.16k
        }
115
16
        return col_res;
116
16
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
128
                                    int result_scale) {
108
128
        size_t size = cond.size();
109
128
        auto col_res = create_column(cond, result_scale);
110
128
        auto& res = col_res->get_data();
111
820k
        for (size_t i = 0; i < size; ++i) {
112
820k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
820k
                             : b[index_check_const<is_const_b>(i)];
114
820k
        }
115
128
        return col_res;
116
128
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
62
                                    int result_scale) {
108
62
        size_t size = cond.size();
109
62
        auto col_res = create_column(cond, result_scale);
110
62
        auto& res = col_res->get_data();
111
10.0k
        for (size_t i = 0; i < size; ++i) {
112
9.98k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
9.98k
                             : b[index_check_const<is_const_b>(i)];
114
9.98k
        }
115
62
        return col_res;
116
62
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE6EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IlLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
30
                                    int result_scale) {
108
30
        size_t size = cond.size();
109
30
        auto col_res = create_column(cond, result_scale);
110
30
        auto& res = col_res->get_data();
111
11.1k
        for (size_t i = 0; i < size; ++i) {
112
11.1k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
11.1k
                             : b[index_check_const<is_const_b>(i)];
114
11.1k
        }
115
30
        return col_res;
116
30
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE7EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_InLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE8EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IfLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
12
                                    int result_scale) {
108
12
        size_t size = cond.size();
109
12
        auto col_res = create_column(cond, result_scale);
110
12
        auto& res = col_res->get_data();
111
1.09k
        for (size_t i = 0; i < size; ++i) {
112
1.08k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.08k
                             : b[index_check_const<is_const_b>(i)];
114
1.08k
        }
115
12
        return col_res;
116
12
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
2
                                    int result_scale) {
108
2
        size_t size = cond.size();
109
2
        auto col_res = create_column(cond, result_scale);
110
2
        auto& res = col_res->get_data();
111
1.05k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
2
        return col_res;
116
2
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
6
                                    int result_scale) {
108
6
        size_t size = cond.size();
109
6
        auto col_res = create_column(cond, result_scale);
110
6
        auto& res = col_res->get_data();
111
1.06k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
6
        return col_res;
116
6
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE9EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
7
                                    int result_scale) {
108
7
        size_t size = cond.size();
109
7
        auto col_res = create_column(cond, result_scale);
110
7
        auto& res = col_res->get_data();
111
1.09k
        for (size_t i = 0; i < size; ++i) {
112
1.08k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.08k
                             : b[index_check_const<is_const_b>(i)];
114
1.08k
        }
115
7
        return col_res;
116
7
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE28EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIiEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
6
        for (size_t i = 0; i < size; ++i) {
112
5
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
5
                             : b[index_check_const<is_const_b>(i)];
114
5
        }
115
1
        return col_res;
116
1
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Line
Count
Source
107
6
                                    int result_scale) {
108
6
        size_t size = cond.size();
109
6
        auto col_res = create_column(cond, result_scale);
110
6
        auto& res = col_res->get_data();
111
25
        for (size_t i = 0; i < size; ++i) {
112
19
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
19
                             : b[index_check_const<is_const_b>(i)];
114
19
        }
115
6
        return col_res;
116
6
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE29EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIlEELm4096ESC_Lm16ELm15EEESK_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE20EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_14DecimalV2ValueELm4096ESC_Lm16ELm15EEESJ_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
107
2
                                    int result_scale) {
108
2
        size_t size = cond.size();
109
2
        auto col_res = create_column(cond, result_scale);
110
2
        auto& res = col_res->get_data();
111
5
        for (size_t i = 0; i < size; ++i) {
112
3
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
3
                             : b[index_check_const<is_const_b>(i)];
114
3
        }
115
2
        return col_res;
116
2
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
107
16
                                    int result_scale) {
108
16
        size_t size = cond.size();
109
16
        auto col_res = create_column(cond, result_scale);
110
16
        auto& res = col_res->get_data();
111
8.48k
        for (size_t i = 0; i < size; ++i) {
112
8.46k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
8.46k
                             : b[index_check_const<is_const_b>(i)];
114
8.46k
        }
115
16
        return col_res;
116
16
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE30EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_12Decimal128V3ELm4096ESC_Lm16ELm15EEESJ_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Line
Count
Source
107
1
                                    int result_scale) {
108
1
        size_t size = cond.size();
109
1
        auto col_res = create_column(cond, result_scale);
110
1
        auto& res = col_res->get_data();
111
2
        for (size_t i = 0; i < size; ++i) {
112
1
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1
                             : b[index_check_const<is_const_b>(i)];
114
1
        }
115
1
        return col_res;
116
1
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE35EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_7DecimalIN4wide7integerILm256EiEEEELm4096ESC_Lm16ELm15EEESN_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE11EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Line
Count
Source
107
4
                                    int result_scale) {
108
4
        size_t size = cond.size();
109
4
        auto col_res = create_column(cond, result_scale);
110
4
        auto& res = col_res->get_data();
111
19
        for (size_t i = 0; i < size; ++i) {
112
15
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
15
                             : b[index_check_const<is_const_b>(i)];
114
15
        }
115
4
        return col_res;
116
4
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE25EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Line
Count
Source
107
9
                                    int result_scale) {
108
9
        size_t size = cond.size();
109
9
        auto col_res = create_column(cond, result_scale);
110
9
        auto& res = col_res->get_data();
111
51
        for (size_t i = 0; i < size; ++i) {
112
42
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
42
                             : b[index_check_const<is_const_b>(i)];
114
42
        }
115
9
        return col_res;
116
9
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE26EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ESC_Lm16ELm15EEESL_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
107
41
                                    int result_scale) {
108
41
        size_t size = cond.size();
109
41
        auto col_res = create_column(cond, result_scale);
110
41
        auto& res = col_res->get_data();
111
167
        for (size_t i = 0; i < size; ++i) {
112
126
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
126
                             : b[index_check_const<is_const_b>(i)];
114
126
        }
115
41
        return col_res;
116
41
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
107
12
                                    int result_scale) {
108
12
        size_t size = cond.size();
109
12
        auto col_res = create_column(cond, result_scale);
110
12
        auto& res = col_res->get_data();
111
60
        for (size_t i = 0; i < size; ++i) {
112
48
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
48
                             : b[index_check_const<is_const_b>(i)];
114
48
        }
115
12
        return col_res;
116
12
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Line
Count
Source
107
44
                                    int result_scale) {
108
44
        size_t size = cond.size();
109
44
        auto col_res = create_column(cond, result_scale);
110
44
        auto& res = col_res->get_data();
111
88
        for (size_t i = 0; i < size; ++i) {
112
44
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
44
                             : b[index_check_const<is_const_b>(i)];
114
44
        }
115
44
        return col_res;
116
44
    }
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE43EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimeStampNsValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE12EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16VecDateTimeValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE27EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IdLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE42EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_INS_16TimestampTzValueELm4096ESC_Lm16ELm15EEESJ_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE36EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IjLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Unexecuted instantiation: _ZN5doris9NumIfImplILNS_13PrimitiveTypeE37EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE14native_executeILb0ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
60
                                    int result_scale) {
108
60
        size_t size = cond.size();
109
60
        auto col_res = create_column(cond, result_scale);
110
60
        auto& res = col_res->get_data();
111
660
        for (size_t i = 0; i < size; ++i) {
112
600
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
600
                             : b[index_check_const<is_const_b>(i)];
114
600
        }
115
60
        return col_res;
116
60
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE14native_executeILb0ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
54
                                    int result_scale) {
108
54
        size_t size = cond.size();
109
54
        auto col_res = create_column(cond, result_scale);
110
54
        auto& res = col_res->get_data();
111
594
        for (size_t i = 0; i < size; ++i) {
112
540
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
540
                             : b[index_check_const<is_const_b>(i)];
114
540
        }
115
54
        return col_res;
116
54
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE14native_executeILb1ELb0EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
105
                                    int result_scale) {
108
105
        size_t size = cond.size();
109
105
        auto col_res = create_column(cond, result_scale);
110
105
        auto& res = col_res->get_data();
111
1.15k
        for (size_t i = 0; i < size; ++i) {
112
1.05k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
1.05k
                             : b[index_check_const<is_const_b>(i)];
114
1.05k
        }
115
105
        return col_res;
116
105
    }
_ZN5doris9NumIfImplILNS_13PrimitiveTypeE44EE14native_executeILb1ELb1EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IoLm4096ESC_Lm16ELm15EEESI_i
Line
Count
Source
107
52
                                    int result_scale) {
108
52
        size_t size = cond.size();
109
52
        auto col_res = create_column(cond, result_scale);
110
52
        auto& res = col_res->get_data();
111
16.9k
        for (size_t i = 0; i < size; ++i) {
112
16.8k
            res[i] = cond[i] ? a[index_check_const<is_const_a>(i)]
113
16.8k
                             : b[index_check_const<is_const_b>(i)];
114
16.8k
        }
115
52
        return col_res;
116
52
    }
117
118
#ifdef __ARM_NEON
119
    constexpr static bool can_use_neon_opt() {
120
        return sizeof(Type) == 1 || sizeof(Type) == 2 || sizeof(Type) == 4 || sizeof(Type) == 8;
121
    }
122
123
    template <bool is_a_const, bool is_b_const>
124
    static void neon_execute(const uint8_t* cond, Type* res, const Type* a, const Type* b,
125
                             size_t size) {
126
        const Type* res_end = res + size;
127
        constexpr int data_size = sizeof(Type);
128
        constexpr int elements_per_process = 16;
129
130
        // Process 16 element of data at a time
131
        while (res + elements_per_process < res_end) {
132
            // Load 16 cond masks
133
            uint8x16_t loaded_mask = vld1q_u8(cond);
134
            //[1, 0, 1, 0, 1, 0, 1, 0, ...]
135
136
            loaded_mask = vceqq_u8(loaded_mask, vdupq_n_u8(0));
137
            //[0, FF, 0, FF, 0, FF, 0, FF, ...]
138
139
            loaded_mask = vmvnq_u8(loaded_mask);
140
            //[FF, 0, FF, 0, FF, 0, FF, 0, ...]
141
142
            if constexpr (data_size == 1) {
143
                uint8x16_t vec_a;
144
                if constexpr (!is_a_const) {
145
                    vec_a = vld1q_u8(reinterpret_cast<const uint8_t*>(a));
146
                } else {
147
                    vec_a = vdupq_n_u8(*reinterpret_cast<const uint8_t*>(a));
148
                }
149
150
                uint8x16_t vec_b;
151
                if constexpr (!is_b_const) {
152
                    vec_b = vld1q_u8(reinterpret_cast<const uint8_t*>(b));
153
                } else {
154
                    vec_b = vdupq_n_u8(*reinterpret_cast<const uint8_t*>(b));
155
                }
156
157
                uint8x16_t result = vbslq_u8(loaded_mask, vec_a, vec_b);
158
159
                vst1q_u8(reinterpret_cast<uint8_t*>(res), result);
160
161
            } else if constexpr (data_size == 2) {
162
                // Process 2 groups, each handling 8 int16
163
                for (int i = 0; i < 2; i++) {
164
                    uint16x8_t vec_a;
165
                    if constexpr (!is_a_const) {
166
                        vec_a = vld1q_u16(reinterpret_cast<const uint16_t*>(a) + i * 8);
167
                    } else {
168
                        vec_a = vdupq_n_u16(*reinterpret_cast<const uint16_t*>(a));
169
                    }
170
171
                    uint16x8_t vec_b;
172
                    if constexpr (!is_b_const) {
173
                        vec_b = vld1q_u16(reinterpret_cast<const uint16_t*>(b) + i * 8);
174
                    } else {
175
                        vec_b = vdupq_n_u16(*reinterpret_cast<const uint16_t*>(b));
176
                    }
177
178
                    uint8x16_t index = {0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7};
179
                    uint8x16_t mask = vqtbl1q_u8(loaded_mask, index);
180
                    // loaded_mask = [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] : u8
181
                    // index       = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7] : u8
182
                    // mask        = [A, A, B, B, C, C, D, D, E, E, F, F, G, G, H, H] : u8
183
184
                    uint16x8_t result = vbslq_u16(vreinterpretq_u16_u8(mask), vec_a, vec_b);
185
186
                    vst1q_u16(reinterpret_cast<uint16_t*>(res) + i * 8, result);
187
                    loaded_mask = vextq_u8(loaded_mask, loaded_mask, 8);
188
                }
189
            } else if constexpr (data_size == 4) {
190
                // Process 4 groups, each handling 4 int32
191
                for (int i = 0; i < 4; i++) {
192
                    uint32x4_t vec_a;
193
                    if constexpr (!is_a_const) {
194
                        vec_a = vld1q_u32(reinterpret_cast<const uint32_t*>(a) + i * 4);
195
                    } else {
196
                        vec_a = vdupq_n_u32(*reinterpret_cast<const uint32_t*>(a));
197
                    }
198
199
                    uint32x4_t vec_b;
200
                    if constexpr (!is_b_const) {
201
                        vec_b = vld1q_u32(reinterpret_cast<const uint32_t*>(b) + i * 4);
202
                    } else {
203
                        vec_b = vdupq_n_u32(*reinterpret_cast<const uint32_t*>(b));
204
                    }
205
206
                    uint8x16_t index = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3};
207
                    uint8x16_t mask = vqtbl1q_u8(loaded_mask, index);
208
209
                    uint32x4_t result = vbslq_u32(vreinterpretq_u32_u8(mask), vec_a, vec_b);
210
211
                    vst1q_u32(reinterpret_cast<uint32_t*>(res) + i * 4, result);
212
                    loaded_mask = vextq_u8(loaded_mask, loaded_mask, 4);
213
                }
214
            } else if constexpr (data_size == 8) {
215
                // Process 8 groups, each handling 2 int64
216
                for (int i = 0; i < 8; i++) {
217
                    uint64x2_t vec_a;
218
                    if constexpr (!is_a_const) {
219
                        vec_a = vld1q_u64(reinterpret_cast<const uint64_t*>(a) + i * 2);
220
                    } else {
221
                        vec_a = vdupq_n_u64(*reinterpret_cast<const uint64_t*>(a));
222
                    }
223
224
                    uint64x2_t vec_b;
225
                    if constexpr (!is_b_const) {
226
                        vec_b = vld1q_u64(reinterpret_cast<const uint64_t*>(b) + i * 2);
227
                    } else {
228
                        vec_b = vdupq_n_u64(*reinterpret_cast<const uint64_t*>(b));
229
                    }
230
231
                    uint8x16_t index = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1};
232
                    uint8x16_t mask = vqtbl1q_u8(loaded_mask, index);
233
234
                    uint64x2_t result = vbslq_u64(vreinterpretq_u64_u8(mask), vec_a, vec_b);
235
236
                    vst1q_u64(reinterpret_cast<uint64_t*>(res) + i * 2, result);
237
238
                    loaded_mask = vextq_u8(loaded_mask, loaded_mask, 2);
239
                }
240
            }
241
242
            res += elements_per_process;
243
            cond += elements_per_process;
244
            if (!is_a_const) {
245
                a += elements_per_process;
246
            }
247
            if (!is_b_const) {
248
                b += elements_per_process;
249
            }
250
        }
251
252
        // for the remaining data
253
        while (res < res_end) {
254
            *res = *cond ? *a : *b;
255
            res++;
256
            cond++;
257
            if (!is_a_const) {
258
                a++;
259
            }
260
            if (!is_b_const) {
261
                b++;
262
            }
263
        }
264
    }
265
266
#endif
267
};
268
269
} // namespace doris