Coverage Report

Created: 2026-09-22 11:36

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/round.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/FunctionRound.h
19
// and modified by Doris
20
21
#pragma once
22
23
#include <cstddef>
24
#include <memory>
25
26
#include "common/exception.h"
27
#include "common/status.h"
28
#include "core/assert_cast.h"
29
#include "core/block/column_with_type_and_name.h"
30
#include "core/column/column_const.h"
31
#include "core/data_type/data_type.h"
32
#include "core/data_type/data_type_nullable.h"
33
#include "core/types.h"
34
#include "exprs/function/function.h"
35
#include "format/format_common.h"
36
#if defined(__SSE4_1__) || defined(__aarch64__)
37
#include "util/sse_util.hpp"
38
#else
39
#include <fenv.h>
40
#endif
41
#include <algorithm>
42
#include <type_traits>
43
44
#include "core/call_on_type_index.h"
45
#include "core/column/column.h"
46
#include "core/column/column_decimal.h"
47
#include "core/data_type/data_type_decimal.h"
48
#include "core/data_type/data_type_number.h"
49
50
namespace doris {
51
#include "common/compile_check_avoid_begin.h"
52
enum class ScaleMode {
53
    Positive, // round to a number with N decimal places after the decimal point
54
    Negative, // round to an integer with N zero characters
55
    Zero,     // round to an integer
56
};
57
58
enum class RoundingMode {
59
#if defined(__SSE4_1__) || defined(__aarch64__)
60
    Round = _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC,
61
    Floor = _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC,
62
    Ceil = _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC,
63
    Trunc = _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC,
64
#else
65
    Round = 8, /// Values are correspond to above just in case.
66
    Floor = 9,
67
    Ceil = 10,
68
    Trunc = 11,
69
#endif
70
};
71
72
enum class TieBreakingMode {
73
    Auto,    // use round up
74
    Bankers, // use banker's rounding
75
};
76
77
template <PrimitiveType PT>
78
struct RoundType {
79
    using NativeType = typename PrimitiveTypeTraits<PT>::CppType;
80
};
81
82
template <>
83
struct RoundType<TYPE_DECIMAL32> {
84
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType::NativeType;
85
};
86
template <>
87
struct RoundType<TYPE_DECIMAL64> {
88
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType::NativeType;
89
};
90
template <>
91
struct RoundType<TYPE_DECIMAL128I> {
92
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType::NativeType;
93
};
94
template <>
95
struct RoundType<TYPE_DECIMALV2> {
96
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType::NativeType;
97
};
98
template <>
99
struct RoundType<TYPE_DECIMAL256> {
100
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType::NativeType;
101
};
102
103
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
104
          TieBreakingMode tie_breaking_mode, typename U>
105
struct IntegerRoundingComputation {
106
    using T = typename RoundType<Type>::NativeType;
107
    static const size_t data_count = 1;
108
109
    static size_t prepare(size_t scale) { return scale; }
110
111
4.80k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
4.80k
        T quotient = x / scale;
113
4.80k
        const T remainder = x - quotient * scale;
114
115
4.80k
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
555
            return target_scale > 1 ? quotient * target_scale : quotient;
117
555
        }
118
1.73k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1.73k
            if (remainder < 0) {
120
12
                --quotient;
121
12
            }
122
1.73k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1.73k
        }
124
793
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
793
            if (remainder > 0) {
126
606
                ++quotient;
127
606
            }
128
793
            return target_scale > 1 ? quotient * target_scale : quotient;
129
793
        }
130
1.72k
        if constexpr (rounding_mode == RoundingMode::Round) {
131
1.72k
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
1.72k
            const T remainder_complement = scale - abs_remainder;
133
1.72k
            const T carry = remainder < 0 ? -1 : 1;
134
1.72k
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
1.10k
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
326
                    quotient += carry;
137
326
                }
138
1.10k
            }
139
1.72k
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
615
                if (remainder != 0 &&
141
615
                    (abs_remainder > remainder_complement ||
142
531
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
214
                    quotient += carry;
144
214
                }
145
615
            }
146
1.72k
            return target_scale > 1 ? quotient * target_scale : quotient;
147
1.72k
        }
148
4.80k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
291
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
291
        T quotient = x / scale;
113
291
        const T remainder = x - quotient * scale;
114
115
291
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
291
            return target_scale > 1 ? quotient * target_scale : quotient;
117
291
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
291
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
225
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
225
        T quotient = x / scale;
113
225
        const T remainder = x - quotient * scale;
114
115
225
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
225
            return target_scale > 1 ? quotient * target_scale : quotient;
117
225
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
225
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
39
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
39
        T quotient = x / scale;
113
39
        const T remainder = x - quotient * scale;
114
115
39
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
39
            return target_scale > 1 ? quotient * target_scale : quotient;
117
39
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
39
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
364
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
364
        T quotient = x / scale;
113
364
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
364
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
364
            if (remainder < 0) {
120
7
                --quotient;
121
7
            }
122
364
            return target_scale > 1 ? quotient * target_scale : quotient;
123
364
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
364
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
1.25k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1.25k
        T quotient = x / scale;
113
1.25k
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
1.25k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1.25k
            if (remainder < 0) {
120
0
                --quotient;
121
0
            }
122
1.25k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1.25k
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1.25k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
119
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
119
        T quotient = x / scale;
113
119
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
119
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
119
            if (remainder < 0) {
120
4
                --quotient;
121
4
            }
122
119
            return target_scale > 1 ? quotient * target_scale : quotient;
123
119
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
119
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
1
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1
        T quotient = x / scale;
113
1
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
1
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1
            if (remainder < 0) {
120
1
                --quotient;
121
1
            }
122
1
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
362
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
362
        T quotient = x / scale;
113
362
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
362
        if constexpr (rounding_mode == RoundingMode::Round) {
131
362
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
362
            const T remainder_complement = scale - abs_remainder;
133
362
            const T carry = remainder < 0 ? -1 : 1;
134
362
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
362
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
126
                    quotient += carry;
137
126
                }
138
362
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
362
            return target_scale > 1 ? quotient * target_scale : quotient;
147
362
        }
148
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
384
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
384
        T quotient = x / scale;
113
384
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
384
        if constexpr (rounding_mode == RoundingMode::Round) {
131
384
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
384
            const T remainder_complement = scale - abs_remainder;
133
384
            const T carry = remainder < 0 ? -1 : 1;
134
384
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
384
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
154
                    quotient += carry;
137
154
                }
138
384
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
384
            return target_scale > 1 ? quotient * target_scale : quotient;
147
384
        }
148
384
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
363
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
363
        T quotient = x / scale;
113
363
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
363
        if constexpr (rounding_mode == RoundingMode::Round) {
131
363
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
363
            const T remainder_complement = scale - abs_remainder;
133
363
            const T carry = remainder < 0 ? -1 : 1;
134
363
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
363
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
46
                    quotient += carry;
137
46
                }
138
363
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
363
            return target_scale > 1 ? quotient * target_scale : quotient;
147
363
        }
148
363
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
362
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
362
        T quotient = x / scale;
113
362
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
362
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
362
            if (remainder > 0) {
126
300
                ++quotient;
127
300
            }
128
362
            return target_scale > 1 ? quotient * target_scale : quotient;
129
362
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
304
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
304
        T quotient = x / scale;
113
304
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
304
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
304
            if (remainder > 0) {
126
239
                ++quotient;
127
239
            }
128
304
            return target_scale > 1 ? quotient * target_scale : quotient;
129
304
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
304
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
126
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
126
        T quotient = x / scale;
113
126
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
126
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
126
            if (remainder > 0) {
126
66
                ++quotient;
127
66
            }
128
126
            return target_scale > 1 ? quotient * target_scale : quotient;
129
126
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
1
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1
        T quotient = x / scale;
113
1
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
1
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
1
            if (remainder > 0) {
126
1
                ++quotient;
127
1
            }
128
1
            return target_scale > 1 ? quotient * target_scale : quotient;
129
1
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE12compute_implEiii
Line
Count
Source
111
315
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
315
        T quotient = x / scale;
113
315
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
315
        if constexpr (rounding_mode == RoundingMode::Round) {
131
315
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
315
            const T remainder_complement = scale - abs_remainder;
133
315
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
315
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
315
                if (remainder != 0 &&
141
315
                    (abs_remainder > remainder_complement ||
142
287
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
113
                    quotient += carry;
144
113
                }
145
315
            }
146
315
            return target_scale > 1 ? quotient * target_scale : quotient;
147
315
        }
148
315
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE12compute_implElll
Line
Count
Source
111
239
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
239
        T quotient = x / scale;
113
239
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
239
        if constexpr (rounding_mode == RoundingMode::Round) {
131
239
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
239
            const T remainder_complement = scale - abs_remainder;
133
239
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
239
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
239
                if (remainder != 0 &&
141
239
                    (abs_remainder > remainder_complement ||
142
211
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
90
                    quotient += carry;
144
90
                }
145
239
            }
146
239
            return target_scale > 1 ? quotient * target_scale : quotient;
147
239
        }
148
239
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
Line
Count
Source
111
61
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
61
        T quotient = x / scale;
113
61
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
61
        if constexpr (rounding_mode == RoundingMode::Round) {
131
61
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
61
            const T remainder_complement = scale - abs_remainder;
133
61
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
61
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
61
                if (remainder != 0 &&
141
61
                    (abs_remainder > remainder_complement ||
142
33
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
11
                    quotient += carry;
144
11
                }
145
61
            }
146
61
            return target_scale > 1 ? quotient * target_scale : quotient;
147
61
        }
148
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
149
150
4.80k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
4.80k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
4.80k
            return compute_impl(x, scale, target_scale);
153
4.80k
        }
154
0
        return x;
155
4.80k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
291
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
291
        if constexpr (scale_mode == ScaleMode::Negative) {
152
291
            return compute_impl(x, scale, target_scale);
153
291
        }
154
0
        return x;
155
291
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
225
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
225
        if constexpr (scale_mode == ScaleMode::Negative) {
152
225
            return compute_impl(x, scale, target_scale);
153
225
        }
154
0
        return x;
155
225
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
39
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
39
        if constexpr (scale_mode == ScaleMode::Negative) {
152
39
            return compute_impl(x, scale, target_scale);
153
39
        }
154
0
        return x;
155
39
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
364
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
364
        if constexpr (scale_mode == ScaleMode::Negative) {
152
364
            return compute_impl(x, scale, target_scale);
153
364
        }
154
0
        return x;
155
364
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
1.25k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1.25k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1.25k
            return compute_impl(x, scale, target_scale);
153
1.25k
        }
154
0
        return x;
155
1.25k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
119
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
119
        if constexpr (scale_mode == ScaleMode::Negative) {
152
119
            return compute_impl(x, scale, target_scale);
153
119
        }
154
0
        return x;
155
119
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
1
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1
            return compute_impl(x, scale, target_scale);
153
1
        }
154
0
        return x;
155
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
362
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
362
        if constexpr (scale_mode == ScaleMode::Negative) {
152
362
            return compute_impl(x, scale, target_scale);
153
362
        }
154
0
        return x;
155
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
384
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
384
        if constexpr (scale_mode == ScaleMode::Negative) {
152
384
            return compute_impl(x, scale, target_scale);
153
384
        }
154
0
        return x;
155
384
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
363
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
363
        if constexpr (scale_mode == ScaleMode::Negative) {
152
363
            return compute_impl(x, scale, target_scale);
153
363
        }
154
0
        return x;
155
363
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
362
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
362
        if constexpr (scale_mode == ScaleMode::Negative) {
152
362
            return compute_impl(x, scale, target_scale);
153
362
        }
154
0
        return x;
155
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
304
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
304
        if constexpr (scale_mode == ScaleMode::Negative) {
152
304
            return compute_impl(x, scale, target_scale);
153
304
        }
154
0
        return x;
155
304
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
126
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
126
        if constexpr (scale_mode == ScaleMode::Negative) {
152
126
            return compute_impl(x, scale, target_scale);
153
126
        }
154
0
        return x;
155
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
1
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1
            return compute_impl(x, scale, target_scale);
153
1
        }
154
0
        return x;
155
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE7computeEiii
Line
Count
Source
150
315
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
315
        if constexpr (scale_mode == ScaleMode::Negative) {
152
315
            return compute_impl(x, scale, target_scale);
153
315
        }
154
0
        return x;
155
315
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeElll
Line
Count
Source
150
239
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
239
        if constexpr (scale_mode == ScaleMode::Negative) {
152
239
            return compute_impl(x, scale, target_scale);
153
239
        }
154
0
        return x;
155
239
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
Line
Count
Source
150
61
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
61
        if constexpr (scale_mode == ScaleMode::Negative) {
152
61
            return compute_impl(x, scale, target_scale);
153
61
        }
154
0
        return x;
155
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeES7_S7_S7_
156
157
    static ALWAYS_INLINE void compute(const T* __restrict in, U scale, T* __restrict out,
158
5.43k
                                      U target_scale) {
159
5.43k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
5.43k
            if (scale >= std::numeric_limits<T>::max()) {
161
623
                if constexpr (!is_decimal(Type)) {
162
0
                    *out = 0;
163
623
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
623
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
620
                        *out = T(0);
168
620
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
1
                        *out = *in < 0 ? -target_scale : T(0);
170
1
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
1
                        *out = *in > 0 ? target_scale : T(0);
172
1
                    } else {
173
1
                        *out = T(0);
174
1
                    }
175
623
                }
176
623
                return;
177
623
            }
178
5.43k
        }
179
4.80k
        *out = compute(*in, scale, target_scale);
180
5.43k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
407
                                      U target_scale) {
159
407
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
407
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
116
                        *out = T(0);
168
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
116
                }
176
116
                return;
177
116
            }
178
407
        }
179
291
        *out = compute(*in, scale, target_scale);
180
407
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
233
                                      U target_scale) {
159
233
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
233
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
8
                        *out = T(0);
168
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
8
                }
176
8
                return;
177
8
            }
178
233
        }
179
225
        *out = compute(*in, scale, target_scale);
180
233
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
39
                                      U target_scale) {
159
39
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
39
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
0
                }
176
0
                return;
177
0
            }
178
39
        }
179
39
        *out = compute(*in, scale, target_scale);
180
39
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
481
                                      U target_scale) {
159
481
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
481
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
117
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
117
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
116
                        *out = T(0);
168
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
1
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
117
                }
176
117
                return;
177
117
            }
178
481
        }
179
364
        *out = compute(*in, scale, target_scale);
180
481
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
1.25k
                                      U target_scale) {
159
1.25k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1.25k
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
8
                        *out = T(0);
168
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
0
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
8
                }
176
8
                return;
177
8
            }
178
1.25k
        }
179
1.25k
        *out = compute(*in, scale, target_scale);
180
1.25k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
119
                                      U target_scale) {
159
119
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
119
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
0
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
0
                }
176
0
                return;
177
0
            }
178
119
        }
179
119
        *out = compute(*in, scale, target_scale);
180
119
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
1
                                      U target_scale) {
159
1
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
0
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
0
                }
176
0
                return;
177
0
            }
178
1
        }
179
1
        *out = compute(*in, scale, target_scale);
180
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
478
                                      U target_scale) {
159
478
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
478
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
116
                        *out = T(0);
168
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
116
                }
176
116
                return;
177
116
            }
178
478
        }
179
362
        *out = compute(*in, scale, target_scale);
180
478
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
392
                                      U target_scale) {
159
392
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
392
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
8
                        *out = T(0);
168
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
8
                }
176
8
                return;
177
8
            }
178
392
        }
179
384
        *out = compute(*in, scale, target_scale);
180
392
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
364
                                      U target_scale) {
159
364
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
364
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
1
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
1
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
1
                    } else {
173
1
                        *out = T(0);
174
1
                    }
175
1
                }
176
1
                return;
177
1
            }
178
364
        }
179
363
        *out = compute(*in, scale, target_scale);
180
364
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
479
                                      U target_scale) {
159
479
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
479
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
117
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
117
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
116
                        *out = T(0);
168
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
1
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
1
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
117
                }
176
117
                return;
177
117
            }
178
479
        }
179
362
        *out = compute(*in, scale, target_scale);
180
479
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
312
                                      U target_scale) {
159
312
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
312
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
8
                        *out = T(0);
168
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
0
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
8
                }
176
8
                return;
177
8
            }
178
312
        }
179
304
        *out = compute(*in, scale, target_scale);
180
312
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
126
                                      U target_scale) {
159
126
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
126
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
0
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
0
                }
176
0
                return;
177
0
            }
178
126
        }
179
126
        *out = compute(*in, scale, target_scale);
180
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
1
                                      U target_scale) {
159
1
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
0
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
0
                }
176
0
                return;
177
0
            }
178
1
        }
179
1
        *out = compute(*in, scale, target_scale);
180
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE7computeEPKiiPii
Line
Count
Source
158
431
                                      U target_scale) {
159
431
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
431
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
116
                        *out = T(0);
168
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
116
                }
176
116
                return;
177
116
            }
178
431
        }
179
315
        *out = compute(*in, scale, target_scale);
180
431
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeEPKllPll
Line
Count
Source
158
247
                                      U target_scale) {
159
247
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
247
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
8
                        *out = T(0);
168
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
8
                }
176
8
                return;
177
8
            }
178
247
        }
179
239
        *out = compute(*in, scale, target_scale);
180
247
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
Line
Count
Source
158
61
                                      U target_scale) {
159
61
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
61
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        *out = T(0);
168
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
                        *out = *in > 0 ? target_scale : T(0);
172
0
                    } else {
173
0
                        *out = T(0);
174
0
                    }
175
0
                }
176
0
                return;
177
0
            }
178
61
        }
179
61
        *out = compute(*in, scale, target_scale);
180
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
181
};
182
183
template <PrimitiveType Type, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
184
class DecimalRoundingImpl {
185
private:
186
    using T = typename PrimitiveTypeTraits<Type>::CppType;
187
    using NativeType = typename T::NativeType;
188
    using Op = IntegerRoundingComputation<Type, rounding_mode, ScaleMode::Negative,
189
                                          tie_breaking_mode, NativeType>;
190
    using Container = typename ColumnDecimal<Type>::Container;
191
192
public:
193
    static NO_INLINE void apply(const Container& in, UInt32 in_scale, Container& out,
194
1.54k
                                Int16 out_scale, Int16 result_scale) {
195
1.54k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
1.54k
        if (scale_arg > 0) {
197
893
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
893
            auto target_scale =
199
893
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
893
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
893
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
893
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
3.49k
            while (p_in < end_in) {
206
2.59k
                Op::compute(p_in, scale, p_out, target_scale);
207
2.59k
                ++p_in;
208
2.59k
                ++p_out;
209
2.59k
            }
210
893
        } else {
211
653
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
653
        }
213
1.54k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
30
                                Int16 out_scale, Int16 result_scale) {
195
30
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
30
        if (scale_arg > 0) {
197
20
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
20
            auto target_scale =
199
20
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
20
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
20
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
20
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
58
            while (p_in < end_in) {
206
38
                Op::compute(p_in, scale, p_out, target_scale);
207
38
                ++p_in;
208
38
                ++p_out;
209
38
            }
210
20
        } else {
211
10
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
10
        }
213
30
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
26
                                Int16 out_scale, Int16 result_scale) {
195
26
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
26
        if (scale_arg > 0) {
197
18
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
18
            auto target_scale =
199
18
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
18
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
18
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
18
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
53
            while (p_in < end_in) {
206
35
                Op::compute(p_in, scale, p_out, target_scale);
207
35
                ++p_in;
208
35
                ++p_out;
209
35
            }
210
18
        } else {
211
8
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
8
        }
213
26
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
194
23
                                Int16 out_scale, Int16 result_scale) {
195
23
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
23
        if (scale_arg > 0) {
197
20
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
20
            auto target_scale =
199
20
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
20
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
20
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
20
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
57
            while (p_in < end_in) {
206
37
                Op::compute(p_in, scale, p_out, target_scale);
207
37
                ++p_in;
208
37
                ++p_out;
209
37
            }
210
20
        } else {
211
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
3
        }
213
23
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
50
                                Int16 out_scale, Int16 result_scale) {
195
50
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
50
        if (scale_arg > 0) {
197
46
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
46
            auto target_scale =
199
46
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
46
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
46
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
46
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
160
            while (p_in < end_in) {
206
114
                Op::compute(p_in, scale, p_out, target_scale);
207
114
                ++p_in;
208
114
                ++p_out;
209
114
            }
210
46
        } else {
211
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
4
        }
213
50
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
238
                                Int16 out_scale, Int16 result_scale) {
195
238
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
238
        if (scale_arg > 0) {
197
217
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
217
            auto target_scale =
199
217
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
217
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
217
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
217
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
1.28k
            while (p_in < end_in) {
206
1.06k
                Op::compute(p_in, scale, p_out, target_scale);
207
1.06k
                ++p_in;
208
1.06k
                ++p_out;
209
1.06k
            }
210
217
        } else {
211
21
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
21
        }
213
238
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
194
49
                                Int16 out_scale, Int16 result_scale) {
195
49
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
49
        if (scale_arg > 0) {
197
45
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
45
            auto target_scale =
199
45
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
45
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
45
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
45
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
160
            while (p_in < end_in) {
206
115
                Op::compute(p_in, scale, p_out, target_scale);
207
115
                ++p_in;
208
115
                ++p_out;
209
115
            }
210
45
        } else {
211
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
4
        }
213
49
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
1
                                Int16 out_scale, Int16 result_scale) {
195
1
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
1
        if (scale_arg > 0) {
197
1
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
1
            auto target_scale =
199
1
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
1
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
1
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
1
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
2
            while (p_in < end_in) {
206
1
                Op::compute(p_in, scale, p_out, target_scale);
207
1
                ++p_in;
208
1
                ++p_out;
209
1
            }
210
1
        } else {
211
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
0
        }
213
1
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
44
                                Int16 out_scale, Int16 result_scale) {
195
44
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
44
        if (scale_arg > 0) {
197
41
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
41
            auto target_scale =
199
41
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
41
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
41
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
41
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
150
            while (p_in < end_in) {
206
109
                Op::compute(p_in, scale, p_out, target_scale);
207
109
                ++p_in;
208
109
                ++p_out;
209
109
            }
210
41
        } else {
211
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
3
        }
213
44
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
119
                                Int16 out_scale, Int16 result_scale) {
195
119
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
119
        if (scale_arg > 0) {
197
109
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
109
            auto target_scale =
199
109
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
109
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
109
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
109
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
307
            while (p_in < end_in) {
206
198
                Op::compute(p_in, scale, p_out, target_scale);
207
198
                ++p_in;
208
198
                ++p_out;
209
198
            }
210
109
        } else {
211
10
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
10
        }
213
119
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
194
664
                                Int16 out_scale, Int16 result_scale) {
195
664
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
664
        if (scale_arg > 0) {
197
170
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
170
            auto target_scale =
199
170
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
170
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
170
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
170
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
530
            while (p_in < end_in) {
206
360
                Op::compute(p_in, scale, p_out, target_scale);
207
360
                ++p_in;
208
360
                ++p_out;
209
360
            }
210
494
        } else {
211
494
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
494
        }
213
664
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
13
                                Int16 out_scale, Int16 result_scale) {
195
13
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
13
        if (scale_arg > 0) {
197
0
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
0
            auto target_scale =
199
0
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
0
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
0
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
0
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
0
            while (p_in < end_in) {
206
0
                Op::compute(p_in, scale, p_out, target_scale);
207
0
                ++p_in;
208
0
                ++p_out;
209
0
            }
210
13
        } else {
211
13
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
13
        }
213
13
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
45
                                Int16 out_scale, Int16 result_scale) {
195
45
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
45
        if (scale_arg > 0) {
197
43
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
43
            auto target_scale =
199
43
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
43
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
43
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
43
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
154
            while (p_in < end_in) {
206
111
                Op::compute(p_in, scale, p_out, target_scale);
207
111
                ++p_in;
208
111
                ++p_out;
209
111
            }
210
43
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
45
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
39
                                Int16 out_scale, Int16 result_scale) {
195
39
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
39
        if (scale_arg > 0) {
197
37
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
37
            auto target_scale =
199
37
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
37
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
37
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
37
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
156
            while (p_in < end_in) {
206
119
                Op::compute(p_in, scale, p_out, target_scale);
207
119
                ++p_in;
208
119
                ++p_out;
209
119
            }
210
37
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
39
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
194
54
                                Int16 out_scale, Int16 result_scale) {
195
54
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
54
        if (scale_arg > 0) {
197
52
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
52
            auto target_scale =
199
52
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
52
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
52
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
52
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
174
            while (p_in < end_in) {
206
122
                Op::compute(p_in, scale, p_out, target_scale);
207
122
                ++p_in;
208
122
                ++p_out;
209
122
            }
210
52
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
54
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
1
                                Int16 out_scale, Int16 result_scale) {
195
1
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
1
        if (scale_arg > 0) {
197
1
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
1
            auto target_scale =
199
1
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
1
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
1
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
1
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
2
            while (p_in < end_in) {
206
1
                Op::compute(p_in, scale, p_out, target_scale);
207
1
                ++p_in;
208
1
                ++p_out;
209
1
            }
210
1
        } else {
211
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
0
        }
213
1
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
31
                                Int16 out_scale, Int16 result_scale) {
195
31
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
31
        if (scale_arg > 0) {
197
29
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
29
            auto target_scale =
199
29
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
29
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
29
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
29
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
92
            while (p_in < end_in) {
206
63
                Op::compute(p_in, scale, p_out, target_scale);
207
63
                ++p_in;
208
63
                ++p_out;
209
63
            }
210
29
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
31
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
91
                                Int16 out_scale, Int16 result_scale) {
195
91
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
91
        if (scale_arg > 0) {
197
19
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
19
            auto target_scale =
199
19
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
19
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
19
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
19
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
72
            while (p_in < end_in) {
206
53
                Op::compute(p_in, scale, p_out, target_scale);
207
53
                ++p_in;
208
53
                ++p_out;
209
53
            }
210
72
        } else {
211
72
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
72
        }
213
91
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
194
28
                                Int16 out_scale, Int16 result_scale) {
195
28
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
28
        if (scale_arg > 0) {
197
25
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
25
            auto target_scale =
199
25
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
25
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
25
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
25
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
84
            while (p_in < end_in) {
206
59
                Op::compute(p_in, scale, p_out, target_scale);
207
59
                ++p_in;
208
59
                ++p_out;
209
59
            }
210
25
        } else {
211
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
3
        }
213
28
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
214
215
    static NO_INLINE void apply(const NativeType& in, UInt32 in_scale, NativeType& out,
216
4.39k
                                Int16 out_scale, Int16 result_scale) {
217
4.39k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
4.39k
        if (scale_arg > 0) {
219
2.83k
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
2.83k
            auto target_scale =
221
2.83k
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
2.83k
            Op::compute(&in, scale, &out, target_scale);
223
2.83k
        } else {
224
1.56k
            memcpy(&out, &in, sizeof(NativeType));
225
1.56k
        }
226
4.39k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
567
                                Int16 out_scale, Int16 result_scale) {
217
567
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
567
        if (scale_arg > 0) {
219
369
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
369
            auto target_scale =
221
369
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
369
            Op::compute(&in, scale, &out, target_scale);
223
369
        } else {
224
198
            memcpy(&out, &in, sizeof(NativeType));
225
198
        }
226
567
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
308
                                Int16 out_scale, Int16 result_scale) {
217
308
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
308
        if (scale_arg > 0) {
219
198
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
198
            auto target_scale =
221
198
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
198
            Op::compute(&in, scale, &out, target_scale);
223
198
        } else {
224
110
            memcpy(&out, &in, sizeof(NativeType));
225
110
        }
226
308
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
3
                                Int16 out_scale, Int16 result_scale) {
217
3
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
3
        if (scale_arg > 0) {
219
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
2
            auto target_scale =
221
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
2
            Op::compute(&in, scale, &out, target_scale);
223
2
        } else {
224
1
            memcpy(&out, &in, sizeof(NativeType));
225
1
        }
226
3
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
569
                                Int16 out_scale, Int16 result_scale) {
217
569
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
569
        if (scale_arg > 0) {
219
367
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
367
            auto target_scale =
221
367
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
367
            Op::compute(&in, scale, &out, target_scale);
223
367
        } else {
224
202
            memcpy(&out, &in, sizeof(NativeType));
225
202
        }
226
569
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
307
                                Int16 out_scale, Int16 result_scale) {
217
307
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
307
        if (scale_arg > 0) {
219
195
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
195
            auto target_scale =
221
195
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
195
            Op::compute(&in, scale, &out, target_scale);
223
195
        } else {
224
112
            memcpy(&out, &in, sizeof(NativeType));
225
112
        }
226
307
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
6
                                Int16 out_scale, Int16 result_scale) {
217
6
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
6
        if (scale_arg > 0) {
219
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
4
            auto target_scale =
221
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
4
            Op::compute(&in, scale, &out, target_scale);
223
4
        } else {
224
2
            memcpy(&out, &in, sizeof(NativeType));
225
2
        }
226
6
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
569
                                Int16 out_scale, Int16 result_scale) {
217
569
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
569
        if (scale_arg > 0) {
219
369
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
369
            auto target_scale =
221
369
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
369
            Op::compute(&in, scale, &out, target_scale);
223
369
        } else {
224
200
            memcpy(&out, &in, sizeof(NativeType));
225
200
        }
226
569
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
306
                                Int16 out_scale, Int16 result_scale) {
217
306
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
306
        if (scale_arg > 0) {
219
194
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
194
            auto target_scale =
221
194
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
194
            Op::compute(&in, scale, &out, target_scale);
223
194
        } else {
224
112
            memcpy(&out, &in, sizeof(NativeType));
225
112
        }
226
306
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
5
                                Int16 out_scale, Int16 result_scale) {
217
5
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
5
        if (scale_arg > 0) {
219
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
4
            auto target_scale =
221
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
4
            Op::compute(&in, scale, &out, target_scale);
223
4
        } else {
224
1
            memcpy(&out, &in, sizeof(NativeType));
225
1
        }
226
5
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
570
                                Int16 out_scale, Int16 result_scale) {
217
570
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
570
        if (scale_arg > 0) {
219
368
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
368
            auto target_scale =
221
368
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
368
            Op::compute(&in, scale, &out, target_scale);
223
368
        } else {
224
202
            memcpy(&out, &in, sizeof(NativeType));
225
202
        }
226
570
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
305
                                Int16 out_scale, Int16 result_scale) {
217
305
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
305
        if (scale_arg > 0) {
219
193
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
193
            auto target_scale =
221
193
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
193
            Op::compute(&in, scale, &out, target_scale);
223
193
        } else {
224
112
            memcpy(&out, &in, sizeof(NativeType));
225
112
        }
226
305
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
5
                                Int16 out_scale, Int16 result_scale) {
217
5
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
5
        if (scale_arg > 0) {
219
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
4
            auto target_scale =
221
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
4
            Op::compute(&in, scale, &out, target_scale);
223
4
        } else {
224
1
            memcpy(&out, &in, sizeof(NativeType));
225
1
        }
226
5
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKijRiss
Line
Count
Source
216
568
                                Int16 out_scale, Int16 result_scale) {
217
568
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
568
        if (scale_arg > 0) {
219
368
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
368
            auto target_scale =
221
368
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
368
            Op::compute(&in, scale, &out, target_scale);
223
368
        } else {
224
200
            memcpy(&out, &in, sizeof(NativeType));
225
200
        }
226
568
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKljRlss
Line
Count
Source
216
306
                                Int16 out_scale, Int16 result_scale) {
217
306
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
306
        if (scale_arg > 0) {
219
194
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
194
            auto target_scale =
221
194
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
194
            Op::compute(&in, scale, &out, target_scale);
223
194
        } else {
224
112
            memcpy(&out, &in, sizeof(NativeType));
225
112
        }
226
306
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRnss
Line
Count
Source
216
3
                                Int16 out_scale, Int16 result_scale) {
217
3
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
3
        if (scale_arg > 0) {
219
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
2
            auto target_scale =
221
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
2
            Op::compute(&in, scale, &out, target_scale);
223
2
        } else {
224
1
            memcpy(&out, &in, sizeof(NativeType));
225
1
        }
226
3
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKN4wide7integerILm256EiEEjRS7_ss
227
};
228
229
template <TieBreakingMode tie_breaking_mode>
230
44
inline float roundWithMode(float x, RoundingMode mode) {
231
44
    switch (mode) {
232
20
    case RoundingMode::Round: {
233
20
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
10
            return nearbyintf(x);
235
10
        } else {
236
10
            return roundf(x);
237
10
        }
238
20
    }
239
28
    case RoundingMode::Floor:
240
28
        return floorf(x);
241
8
    case RoundingMode::Ceil:
242
8
        return ceilf(x);
243
8
    case RoundingMode::Trunc:
244
8
        return truncf(x);
245
44
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
44
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEffNS_12RoundingModeE
Line
Count
Source
230
34
inline float roundWithMode(float x, RoundingMode mode) {
231
34
    switch (mode) {
232
10
    case RoundingMode::Round: {
233
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
            return nearbyintf(x);
235
10
        } else {
236
10
            return roundf(x);
237
10
        }
238
10
    }
239
18
    case RoundingMode::Floor:
240
18
        return floorf(x);
241
8
    case RoundingMode::Ceil:
242
8
        return ceilf(x);
243
8
    case RoundingMode::Trunc:
244
8
        return truncf(x);
245
34
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
34
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEffNS_12RoundingModeE
Line
Count
Source
230
10
inline float roundWithMode(float x, RoundingMode mode) {
231
10
    switch (mode) {
232
10
    case RoundingMode::Round: {
233
10
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
10
            return nearbyintf(x);
235
        } else {
236
            return roundf(x);
237
        }
238
10
    }
239
10
    case RoundingMode::Floor:
240
10
        return floorf(x);
241
0
    case RoundingMode::Ceil:
242
0
        return ceilf(x);
243
0
    case RoundingMode::Trunc:
244
0
        return truncf(x);
245
10
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
10
}
249
250
template <TieBreakingMode tie_breaking_mode>
251
2.53k
inline double roundWithMode(double x, RoundingMode mode) {
252
2.53k
    switch (mode) {
253
2.27k
    case RoundingMode::Round: {
254
2.27k
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
72
            return nearbyint(x);
256
2.20k
        } else {
257
2.20k
            return round(x);
258
2.20k
        }
259
2.27k
    }
260
2.37k
    case RoundingMode::Floor:
261
2.37k
        return floor(x);
262
81
    case RoundingMode::Ceil:
263
81
        return ceil(x);
264
75
    case RoundingMode::Trunc:
265
75
        return trunc(x);
266
2.53k
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
2.53k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEddNS_12RoundingModeE
Line
Count
Source
251
2.46k
inline double roundWithMode(double x, RoundingMode mode) {
252
2.46k
    switch (mode) {
253
2.20k
    case RoundingMode::Round: {
254
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
            return nearbyint(x);
256
2.20k
        } else {
257
2.20k
            return round(x);
258
2.20k
        }
259
2.20k
    }
260
2.30k
    case RoundingMode::Floor:
261
2.30k
        return floor(x);
262
81
    case RoundingMode::Ceil:
263
81
        return ceil(x);
264
75
    case RoundingMode::Trunc:
265
75
        return trunc(x);
266
2.46k
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
2.46k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEddNS_12RoundingModeE
Line
Count
Source
251
72
inline double roundWithMode(double x, RoundingMode mode) {
252
72
    switch (mode) {
253
72
    case RoundingMode::Round: {
254
72
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
72
            return nearbyint(x);
256
        } else {
257
            return round(x);
258
        }
259
72
    }
260
72
    case RoundingMode::Floor:
261
72
        return floor(x);
262
0
    case RoundingMode::Ceil:
263
0
        return ceil(x);
264
0
    case RoundingMode::Trunc:
265
0
        return trunc(x);
266
72
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
72
}
270
271
template <typename T, TieBreakingMode tie_breaking_mode>
272
class BaseFloatRoundingComputation {
273
public:
274
    using ScalarType = T;
275
    using VectorType = T;
276
    static const size_t data_count = 1;
277
278
2.57k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE4loadEPKf
Line
Count
Source
278
34
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE4loadEPKd
Line
Count
Source
278
2.46k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE4loadEPKf
Line
Count
Source
278
10
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE4loadEPKd
Line
Count
Source
278
72
    static VectorType load(const ScalarType* in) { return *in; }
279
679
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5load1Ef
Line
Count
Source
279
34
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5load1Ed
Line
Count
Source
279
600
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5load1Ef
Line
Count
Source
279
10
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5load1Ed
Line
Count
Source
279
35
    static VectorType load1(const ScalarType in) { return in; }
280
2.57k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5storeEPff
Line
Count
Source
280
34
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5storeEPdd
Line
Count
Source
280
2.46k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5storeEPff
Line
Count
Source
280
10
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5storeEPdd
Line
Count
Source
280
72
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
281
2.24k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE8multiplyEff
Line
Count
Source
281
24
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE8multiplyEdd
Line
Count
Source
281
2.17k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE8multiplyEff
Line
Count
Source
281
6
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE8multiplyEdd
Line
Count
Source
281
37
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
282
2.24k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE6divideEff
Line
Count
Source
282
24
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE6divideEdd
Line
Count
Source
282
2.17k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE6divideEff
Line
Count
Source
282
6
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE6divideEdd
Line
Count
Source
282
37
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
283
    template <RoundingMode mode>
284
2.57k
    static VectorType apply(VectorType val) {
285
2.57k
        return roundWithMode<tie_breaking_mode>(val, mode);
286
2.57k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEff
Line
Count
Source
284
8
    static VectorType apply(VectorType val) {
285
8
        return roundWithMode<tie_breaking_mode>(val, mode);
286
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEdd
Line
Count
Source
284
75
    static VectorType apply(VectorType val) {
285
75
        return roundWithMode<tie_breaking_mode>(val, mode);
286
75
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEff
Line
Count
Source
284
8
    static VectorType apply(VectorType val) {
285
8
        return roundWithMode<tie_breaking_mode>(val, mode);
286
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEdd
Line
Count
Source
284
99
    static VectorType apply(VectorType val) {
285
99
        return roundWithMode<tie_breaking_mode>(val, mode);
286
99
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
284
10
    static VectorType apply(VectorType val) {
285
10
        return roundWithMode<tie_breaking_mode>(val, mode);
286
10
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
284
2.20k
    static VectorType apply(VectorType val) {
285
2.20k
        return roundWithMode<tie_breaking_mode>(val, mode);
286
2.20k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEff
Line
Count
Source
284
8
    static VectorType apply(VectorType val) {
285
8
        return roundWithMode<tie_breaking_mode>(val, mode);
286
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEdd
Line
Count
Source
284
81
    static VectorType apply(VectorType val) {
285
81
        return roundWithMode<tie_breaking_mode>(val, mode);
286
81
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
284
10
    static VectorType apply(VectorType val) {
285
10
        return roundWithMode<tie_breaking_mode>(val, mode);
286
10
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
284
72
    static VectorType apply(VectorType val) {
285
72
        return roundWithMode<tie_breaking_mode>(val, mode);
286
72
    }
287
288
679
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
288
34
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
288
600
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
288
10
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
288
35
    static VectorType prepare(size_t scale) { return load1(scale); }
289
};
290
291
/** Implementation of low-level round-off functions for floating-point values.
292
  */
293
template <typename T, RoundingMode rounding_mode, ScaleMode scale_mode,
294
          TieBreakingMode tie_breaking_mode>
295
class FloatRoundingComputation : public BaseFloatRoundingComputation<T, tie_breaking_mode> {
296
    using Base = BaseFloatRoundingComputation<T, tie_breaking_mode>;
297
298
public:
299
    static inline void compute(const T* __restrict in, const typename Base::VectorType& scale,
300
2.57k
                               T* __restrict out) {
301
2.57k
        auto val = Base::load(in);
302
303
2.57k
        if (scale_mode == ScaleMode::Positive) {
304
2.20k
            val = Base::multiply(val, scale);
305
2.20k
        } else if (scale_mode == ScaleMode::Negative) {
306
40
            val = Base::divide(val, scale);
307
40
        }
308
309
2.57k
        val = Base::template apply<rounding_mode>(val);
310
311
2.57k
        if (scale_mode == ScaleMode::Positive) {
312
2.20k
            val = Base::divide(val, scale);
313
2.20k
        } else if (scale_mode == ScaleMode::Negative) {
314
40
            val = Base::multiply(val, scale);
315
40
        }
316
317
2.57k
        Base::store(out, val);
318
2.57k
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
4
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
4
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
12
                               T* __restrict out) {
301
12
        auto val = Base::load(in);
302
303
12
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
12
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
12
        val = Base::template apply<rounding_mode>(val);
310
311
12
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
12
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
12
        Base::store(out, val);
318
12
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
53
                               T* __restrict out) {
301
53
        auto val = Base::load(in);
302
303
53
        if (scale_mode == ScaleMode::Positive) {
304
53
            val = Base::multiply(val, scale);
305
53
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
53
        val = Base::template apply<rounding_mode>(val);
310
311
53
        if (scale_mode == ScaleMode::Positive) {
312
53
            val = Base::divide(val, scale);
313
53
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
53
        Base::store(out, val);
318
53
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
10
                               T* __restrict out) {
301
10
        auto val = Base::load(in);
302
303
10
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
10
        } else if (scale_mode == ScaleMode::Negative) {
306
10
            val = Base::divide(val, scale);
307
10
        }
308
309
10
        val = Base::template apply<rounding_mode>(val);
310
311
10
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
10
        } else if (scale_mode == ScaleMode::Negative) {
314
10
            val = Base::multiply(val, scale);
315
10
        }
316
317
10
        Base::store(out, val);
318
10
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
4
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
4
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
85
                               T* __restrict out) {
301
85
        auto val = Base::load(in);
302
303
85
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
85
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
85
        val = Base::template apply<rounding_mode>(val);
310
311
85
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
85
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
85
        Base::store(out, val);
318
85
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
12
                               T* __restrict out) {
301
12
        auto val = Base::load(in);
302
303
12
        if (scale_mode == ScaleMode::Positive) {
304
12
            val = Base::multiply(val, scale);
305
12
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
12
        val = Base::template apply<rounding_mode>(val);
310
311
12
        if (scale_mode == ScaleMode::Positive) {
312
12
            val = Base::divide(val, scale);
313
12
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
12
        Base::store(out, val);
318
12
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
4
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
4
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
118
                               T* __restrict out) {
301
118
        auto val = Base::load(in);
302
303
118
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
118
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
118
        val = Base::template apply<rounding_mode>(val);
310
311
118
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
118
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
118
        Base::store(out, val);
318
118
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
2.08k
                               T* __restrict out) {
301
2.08k
        auto val = Base::load(in);
302
303
2.08k
        if (scale_mode == ScaleMode::Positive) {
304
2.08k
            val = Base::multiply(val, scale);
305
2.08k
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
2.08k
        val = Base::template apply<rounding_mode>(val);
310
311
2.08k
        if (scale_mode == ScaleMode::Positive) {
312
2.08k
            val = Base::divide(val, scale);
313
2.08k
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
2.08k
        Base::store(out, val);
318
2.08k
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
6
                               T* __restrict out) {
301
6
        auto val = Base::load(in);
302
303
6
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
6
        } else if (scale_mode == ScaleMode::Negative) {
306
6
            val = Base::divide(val, scale);
307
6
        }
308
309
6
        val = Base::template apply<rounding_mode>(val);
310
311
6
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
6
        } else if (scale_mode == ScaleMode::Negative) {
314
6
            val = Base::multiply(val, scale);
315
6
        }
316
317
6
        Base::store(out, val);
318
6
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
4
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
4
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
67
                               T* __restrict out) {
301
67
        auto val = Base::load(in);
302
303
67
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
67
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
67
        val = Base::template apply<rounding_mode>(val);
310
311
67
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
67
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
67
        Base::store(out, val);
318
67
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
8
                               T* __restrict out) {
301
8
        auto val = Base::load(in);
302
303
8
        if (scale_mode == ScaleMode::Positive) {
304
8
            val = Base::multiply(val, scale);
305
8
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
8
        val = Base::template apply<rounding_mode>(val);
310
311
8
        if (scale_mode == ScaleMode::Positive) {
312
8
            val = Base::divide(val, scale);
313
8
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
8
        Base::store(out, val);
318
8
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
6
                               T* __restrict out) {
301
6
        auto val = Base::load(in);
302
303
6
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
6
        } else if (scale_mode == ScaleMode::Negative) {
306
6
            val = Base::divide(val, scale);
307
6
        }
308
309
6
        val = Base::template apply<rounding_mode>(val);
310
311
6
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
6
        } else if (scale_mode == ScaleMode::Negative) {
314
6
            val = Base::multiply(val, scale);
315
6
        }
316
317
6
        Base::store(out, val);
318
6
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
300
4
                               T* __restrict out) {
301
4
        auto val = Base::load(in);
302
303
4
        if (scale_mode == ScaleMode::Positive) {
304
4
            val = Base::multiply(val, scale);
305
4
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
4
        val = Base::template apply<rounding_mode>(val);
310
311
4
        if (scale_mode == ScaleMode::Positive) {
312
4
            val = Base::divide(val, scale);
313
4
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
300
2
                               T* __restrict out) {
301
2
        auto val = Base::load(in);
302
303
2
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
2
        } else if (scale_mode == ScaleMode::Negative) {
306
2
            val = Base::divide(val, scale);
307
2
        }
308
309
2
        val = Base::template apply<rounding_mode>(val);
310
311
2
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
2
        } else if (scale_mode == ScaleMode::Negative) {
314
2
            val = Base::multiply(val, scale);
315
2
        }
316
317
2
        Base::store(out, val);
318
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
300
35
                               T* __restrict out) {
301
35
        auto val = Base::load(in);
302
303
35
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
35
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
35
        val = Base::template apply<rounding_mode>(val);
310
311
35
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
35
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
35
        Base::store(out, val);
318
35
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
300
31
                               T* __restrict out) {
301
31
        auto val = Base::load(in);
302
303
31
        if (scale_mode == ScaleMode::Positive) {
304
31
            val = Base::multiply(val, scale);
305
31
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
31
        val = Base::template apply<rounding_mode>(val);
310
311
31
        if (scale_mode == ScaleMode::Positive) {
312
31
            val = Base::divide(val, scale);
313
31
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
31
        Base::store(out, val);
318
31
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
300
6
                               T* __restrict out) {
301
6
        auto val = Base::load(in);
302
303
6
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
6
        } else if (scale_mode == ScaleMode::Negative) {
306
6
            val = Base::divide(val, scale);
307
6
        }
308
309
6
        val = Base::template apply<rounding_mode>(val);
310
311
6
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
6
        } else if (scale_mode == ScaleMode::Negative) {
314
6
            val = Base::multiply(val, scale);
315
6
        }
316
317
6
        Base::store(out, val);
318
6
    }
319
};
320
321
/** Implementing high-level rounding functions.
322
  */
323
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
324
          TieBreakingMode tie_breaking_mode>
325
struct FloatRoundingImpl {
326
private:
327
    using T = typename PrimitiveTypeTraits<Type>::CppType;
328
    static_assert(!is_decimal(Type));
329
330
    using Op = FloatRoundingComputation<T, rounding_mode, scale_mode, tie_breaking_mode>;
331
    using Data = std::array<T, Op::data_count>;
332
    using ColumnType = ColumnVector<Type>;
333
    using Container = typename ColumnType::Container;
334
335
public:
336
546
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
546
        auto mm_scale = Op::prepare(scale);
338
339
546
        const size_t data_count = std::tuple_size<Data>();
340
341
546
        const T* end_in = in.data() + in.size();
342
546
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
546
        const T* __restrict p_in = in.data();
345
546
        T* __restrict p_out = out.data();
346
347
2.98k
        while (p_in < limit) {
348
2.44k
            Op::compute(p_in, mm_scale, p_out);
349
2.44k
            p_in += data_count;
350
2.44k
            p_out += data_count;
351
2.44k
        }
352
353
546
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
546
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
10
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
10
        auto mm_scale = Op::prepare(scale);
338
339
10
        const size_t data_count = std::tuple_size<Data>();
340
341
10
        const T* end_in = in.data() + in.size();
342
10
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
10
        const T* __restrict p_in = in.data();
345
10
        T* __restrict p_out = out.data();
346
347
20
        while (p_in < limit) {
348
10
            Op::compute(p_in, mm_scale, p_out);
349
10
            p_in += data_count;
350
10
            p_out += data_count;
351
10
        }
352
353
10
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
10
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
20
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
20
        auto mm_scale = Op::prepare(scale);
338
339
20
        const size_t data_count = std::tuple_size<Data>();
340
341
20
        const T* end_in = in.data() + in.size();
342
20
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
20
        const T* __restrict p_in = in.data();
345
20
        T* __restrict p_out = out.data();
346
347
59
        while (p_in < limit) {
348
39
            Op::compute(p_in, mm_scale, p_out);
349
39
            p_in += data_count;
350
39
            p_out += data_count;
351
39
        }
352
353
20
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
20
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
8
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
8
        auto mm_scale = Op::prepare(scale);
338
339
8
        const size_t data_count = std::tuple_size<Data>();
340
341
8
        const T* end_in = in.data() + in.size();
342
8
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
8
        const T* __restrict p_in = in.data();
345
8
        T* __restrict p_out = out.data();
346
347
16
        while (p_in < limit) {
348
8
            Op::compute(p_in, mm_scale, p_out);
349
8
            p_in += data_count;
350
8
            p_out += data_count;
351
8
        }
352
353
8
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
8
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
41
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
41
        auto mm_scale = Op::prepare(scale);
338
339
41
        const size_t data_count = std::tuple_size<Data>();
340
341
41
        const T* end_in = in.data() + in.size();
342
41
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
41
        const T* __restrict p_in = in.data();
345
41
        T* __restrict p_out = out.data();
346
347
121
        while (p_in < limit) {
348
80
            Op::compute(p_in, mm_scale, p_out);
349
80
            p_in += data_count;
350
80
            p_out += data_count;
351
80
        }
352
353
41
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
41
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
64
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
64
        auto mm_scale = Op::prepare(scale);
338
339
64
        const size_t data_count = std::tuple_size<Data>();
340
341
64
        const T* end_in = in.data() + in.size();
342
64
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
64
        const T* __restrict p_in = in.data();
345
64
        T* __restrict p_out = out.data();
346
347
178
        while (p_in < limit) {
348
114
            Op::compute(p_in, mm_scale, p_out);
349
114
            p_in += data_count;
350
114
            p_out += data_count;
351
114
        }
352
353
64
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
64
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
360
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
360
        auto mm_scale = Op::prepare(scale);
338
339
360
        const size_t data_count = std::tuple_size<Data>();
340
341
360
        const T* end_in = in.data() + in.size();
342
360
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
360
        const T* __restrict p_in = in.data();
345
360
        T* __restrict p_out = out.data();
346
347
2.43k
        while (p_in < limit) {
348
2.07k
            Op::compute(p_in, mm_scale, p_out);
349
2.07k
            p_in += data_count;
350
2.07k
            p_out += data_count;
351
2.07k
        }
352
353
360
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
360
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
24
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
24
        auto mm_scale = Op::prepare(scale);
338
339
24
        const size_t data_count = std::tuple_size<Data>();
340
341
24
        const T* end_in = in.data() + in.size();
342
24
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
24
        const T* __restrict p_in = in.data();
345
24
        T* __restrict p_out = out.data();
346
347
85
        while (p_in < limit) {
348
61
            Op::compute(p_in, mm_scale, p_out);
349
61
            p_in += data_count;
350
61
            p_out += data_count;
351
61
        }
352
353
24
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
24
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
11
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
11
        auto mm_scale = Op::prepare(scale);
338
339
11
        const size_t data_count = std::tuple_size<Data>();
340
341
11
        const T* end_in = in.data() + in.size();
342
11
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
11
        const T* __restrict p_in = in.data();
345
11
        T* __restrict p_out = out.data();
346
347
42
        while (p_in < limit) {
348
31
            Op::compute(p_in, mm_scale, p_out);
349
31
            p_in += data_count;
350
31
            p_out += data_count;
351
31
        }
352
353
11
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
11
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
8
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
8
        auto mm_scale = Op::prepare(scale);
338
339
8
        const size_t data_count = std::tuple_size<Data>();
340
341
8
        const T* end_in = in.data() + in.size();
342
8
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
8
        const T* __restrict p_in = in.data();
345
8
        T* __restrict p_out = out.data();
346
347
33
        while (p_in < limit) {
348
25
            Op::compute(p_in, mm_scale, p_out);
349
25
            p_in += data_count;
350
25
            p_out += data_count;
351
25
        }
352
353
8
        if (p_in < end_in) {
354
0
            Data tmp_src {{}};
355
0
            Data tmp_dst;
356
357
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
358
359
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
360
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
361
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
362
0
        }
363
8
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
364
365
133
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
133
        auto mm_scale = Op::prepare(scale);
367
133
        Op::compute(&in, mm_scale, &out);
368
133
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
14
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
14
        auto mm_scale = Op::prepare(scale);
367
14
        Op::compute(&in, mm_scale, &out);
368
14
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
5
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
5
        auto mm_scale = Op::prepare(scale);
367
5
        Op::compute(&in, mm_scale, &out);
368
5
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
12
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
12
        auto mm_scale = Op::prepare(scale);
367
12
        Op::compute(&in, mm_scale, &out);
368
12
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
8
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
8
        auto mm_scale = Op::prepare(scale);
367
8
        Op::compute(&in, mm_scale, &out);
368
8
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
365
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
2
        auto mm_scale = Op::prepare(scale);
367
2
        Op::compute(&in, mm_scale, &out);
368
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
365
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
4
        auto mm_scale = Op::prepare(scale);
367
4
        Op::compute(&in, mm_scale, &out);
368
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
365
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
6
        auto mm_scale = Op::prepare(scale);
367
6
        Op::compute(&in, mm_scale, &out);
368
6
    }
369
};
370
371
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
372
          TieBreakingMode tie_breaking_mode>
373
struct IntegerRoundingImpl {
374
private:
375
    using T = typename PrimitiveTypeTraits<Type>::CppType;
376
    using Op =
377
            IntegerRoundingComputation<Type, rounding_mode, scale_mode, tie_breaking_mode, size_t>;
378
    using Container = typename ColumnVector<Type>::Container;
379
380
public:
381
    template <size_t scale>
382
0
    static NO_INLINE void applyImpl(const Container& in, Container& out) {
383
0
        const T* end_in = in.data() + in.size();
384
385
0
        const T* __restrict p_in = in.data();
386
0
        T* __restrict p_out = out.data();
387
388
0
        while (p_in < end_in) {
389
0
            Op::compute(p_in, scale, p_out, 1);
390
0
            ++p_in;
391
0
            ++p_out;
392
0
        }
393
0
    }
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERSB_
394
395
0
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
396
        /// Manual function cloning for compiler to generate integer division by constant.
397
0
        switch (scale) {
398
0
        case 1ULL:
399
0
            return applyImpl<1ULL>(in, out);
400
0
        case 10ULL:
401
0
            return applyImpl<10ULL>(in, out);
402
0
        case 100ULL:
403
0
            return applyImpl<100ULL>(in, out);
404
0
        case 1000ULL:
405
0
            return applyImpl<1000ULL>(in, out);
406
0
        case 10000ULL:
407
0
            return applyImpl<10000ULL>(in, out);
408
0
        case 100000ULL:
409
0
            return applyImpl<100000ULL>(in, out);
410
0
        case 1000000ULL:
411
0
            return applyImpl<1000000ULL>(in, out);
412
0
        case 10000000ULL:
413
0
            return applyImpl<10000000ULL>(in, out);
414
0
        case 100000000ULL:
415
0
            return applyImpl<100000000ULL>(in, out);
416
0
        case 1000000000ULL:
417
0
            return applyImpl<1000000000ULL>(in, out);
418
0
        case 10000000000ULL:
419
0
            return applyImpl<10000000000ULL>(in, out);
420
0
        case 100000000000ULL:
421
0
            return applyImpl<100000000000ULL>(in, out);
422
0
        case 1000000000000ULL:
423
0
            return applyImpl<1000000000000ULL>(in, out);
424
0
        case 10000000000000ULL:
425
0
            return applyImpl<10000000000000ULL>(in, out);
426
0
        case 100000000000000ULL:
427
0
            return applyImpl<100000000000000ULL>(in, out);
428
0
        case 1000000000000000ULL:
429
0
            return applyImpl<1000000000000000ULL>(in, out);
430
0
        case 10000000000000000ULL:
431
0
            return applyImpl<10000000000000000ULL>(in, out);
432
0
        case 100000000000000000ULL:
433
0
            return applyImpl<100000000000000000ULL>(in, out);
434
0
        case 1000000000000000000ULL:
435
0
            return applyImpl<1000000000000000000ULL>(in, out);
436
0
        case 10000000000000000000ULL:
437
0
            return applyImpl<10000000000000000000ULL>(in, out);
438
0
        default:
439
0
            throw doris::Exception(ErrorCode::INTERNAL_ERROR,
440
0
                                   "IntegerRoundingImpl __builtin_unreachable ", scale);
441
0
            __builtin_unreachable();
442
0
        }
443
0
    }
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
444
445
0
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
446
0
        Op::compute(&in, scale, &out, 1);
447
0
    }
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKhmRh
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKamRa
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKsmRs
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKimRi
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKlmRl
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKnmRn
Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKnmRn
448
};
449
450
/** Select the appropriate processing algorithm depending on the scale.
451
  */
452
template <PrimitiveType T, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
453
struct Dispatcher {
454
    template <ScaleMode scale_mode>
455
    using FunctionRoundingImpl = std::conditional_t<
456
            is_decimal(T), DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>,
457
            std::conditional_t<
458
                    is_float_or_double(T) || T == TYPE_TIMEV2,
459
                    FloatRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>,
460
                    IntegerRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>>>;
461
462
    // scale_arg: scale for function computation
463
    // result_scale: scale for result decimal, this scale is got from planner
464
    static ColumnPtr apply_vec_const(const IColumn* col_general, const Int16 scale_arg,
465
2.09k
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
545
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
545
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
545
            auto col_res = ColumnVector<T>::create();
470
471
545
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
545
            vec_res.resize(col->get_data().size());
473
474
546
            if (!vec_res.empty()) {
475
546
                if (scale_arg == 0) {
476
150
                    size_t scale = 1;
477
150
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
396
                } else if (scale_arg > 0) {
479
388
                    size_t scale = int_exp10(scale_arg);
480
388
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
388
                                                                     vec_res);
482
388
                } else {
483
8
                    size_t scale = int_exp10(-scale_arg);
484
8
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
8
                                                                     vec_res);
486
8
                }
487
546
            }
488
489
545
            return col_res;
490
545
        } else if constexpr (T == TYPE_DECIMALV2) {
491
0
            const auto* const decimal_col =
492
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
0
            const auto& vec_src = decimal_col->get_data();
494
0
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
0
            auto& vec_res = col_res->get_data();
496
497
0
            if (!vec_res.empty()) {
498
0
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
0
                                                                 decimal_col->get_scale(), vec_res,
500
0
                                                                 scale_arg, result_scale);
501
0
            }
502
0
            return col_res;
503
1.54k
        } else if constexpr (is_decimal(T)) {
504
1.54k
            const auto* const decimal_col =
505
1.54k
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
1.54k
            const auto& vec_src = decimal_col->get_data();
507
1.54k
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
1.54k
            auto& vec_res = col_res->get_data();
509
510
1.54k
            if (!vec_res.empty()) {
511
1.54k
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
1.54k
                                                                 decimal_col->get_scale(), vec_res,
513
1.54k
                                                                 scale_arg, result_scale);
514
1.54k
            }
515
1.54k
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
2.09k
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
38
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
38
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
38
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
38
            auto col_res = ColumnVector<T>::create();
470
471
38
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
38
            vec_res.resize(col->get_data().size());
473
474
38
            if (!vec_res.empty()) {
475
38
                if (scale_arg == 0) {
476
10
                    size_t scale = 1;
477
10
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
28
                } else if (scale_arg > 0) {
479
20
                    size_t scale = int_exp10(scale_arg);
480
20
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
20
                                                                     vec_res);
482
20
                } else {
483
8
                    size_t scale = int_exp10(-scale_arg);
484
8
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
8
                                                                     vec_res);
486
8
                }
487
38
            }
488
489
38
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
        } else if constexpr (is_decimal(T)) {
504
            const auto* const decimal_col =
505
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
            const auto& vec_src = decimal_col->get_data();
507
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
            auto& vec_res = col_res->get_data();
509
510
            if (!vec_res.empty()) {
511
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
                                                                 decimal_col->get_scale(), vec_res,
513
                                                                 scale_arg, result_scale);
514
            }
515
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
38
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
30
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
30
        } else if constexpr (is_decimal(T)) {
504
30
            const auto* const decimal_col =
505
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
30
            const auto& vec_src = decimal_col->get_data();
507
30
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
30
            auto& vec_res = col_res->get_data();
509
510
30
            if (!vec_res.empty()) {
511
30
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
30
                                                                 decimal_col->get_scale(), vec_res,
513
30
                                                                 scale_arg, result_scale);
514
30
            }
515
30
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
26
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
26
        } else if constexpr (is_decimal(T)) {
504
26
            const auto* const decimal_col =
505
26
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
26
            const auto& vec_src = decimal_col->get_data();
507
26
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
26
            auto& vec_res = col_res->get_data();
509
510
26
            if (!vec_res.empty()) {
511
26
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
26
                                                                 decimal_col->get_scale(), vec_res,
513
26
                                                                 scale_arg, result_scale);
514
26
            }
515
26
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
26
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
23
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
23
        } else if constexpr (is_decimal(T)) {
504
23
            const auto* const decimal_col =
505
23
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
23
            const auto& vec_src = decimal_col->get_data();
507
23
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
23
            auto& vec_res = col_res->get_data();
509
510
23
            if (!vec_res.empty()) {
511
23
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
23
                                                                 decimal_col->get_scale(), vec_res,
513
23
                                                                 scale_arg, result_scale);
514
23
            }
515
23
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
23
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
40
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
40
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
40
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
40
            auto col_res = ColumnVector<T>::create();
470
471
40
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
40
            vec_res.resize(col->get_data().size());
473
474
41
            if (!vec_res.empty()) {
475
41
                if (scale_arg == 0) {
476
41
                    size_t scale = 1;
477
41
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
41
                } else if (scale_arg > 0) {
479
0
                    size_t scale = int_exp10(scale_arg);
480
0
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
0
                                                                     vec_res);
482
0
                } else {
483
0
                    size_t scale = int_exp10(-scale_arg);
484
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
0
                                                                     vec_res);
486
0
                }
487
41
            }
488
489
40
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
        } else if constexpr (is_decimal(T)) {
504
            const auto* const decimal_col =
505
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
            const auto& vec_src = decimal_col->get_data();
507
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
            auto& vec_res = col_res->get_data();
509
510
            if (!vec_res.empty()) {
511
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
                                                                 decimal_col->get_scale(), vec_res,
513
                                                                 scale_arg, result_scale);
514
            }
515
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
40
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
50
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
50
        } else if constexpr (is_decimal(T)) {
504
50
            const auto* const decimal_col =
505
50
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
50
            const auto& vec_src = decimal_col->get_data();
507
50
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
50
            auto& vec_res = col_res->get_data();
509
510
50
            if (!vec_res.empty()) {
511
50
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
50
                                                                 decimal_col->get_scale(), vec_res,
513
50
                                                                 scale_arg, result_scale);
514
50
            }
515
50
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
50
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
238
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
238
        } else if constexpr (is_decimal(T)) {
504
238
            const auto* const decimal_col =
505
238
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
238
            const auto& vec_src = decimal_col->get_data();
507
238
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
238
            auto& vec_res = col_res->get_data();
509
510
238
            if (!vec_res.empty()) {
511
238
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
238
                                                                 decimal_col->get_scale(), vec_res,
513
238
                                                                 scale_arg, result_scale);
514
238
            }
515
238
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
238
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
49
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
49
        } else if constexpr (is_decimal(T)) {
504
49
            const auto* const decimal_col =
505
49
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
49
            const auto& vec_src = decimal_col->get_data();
507
49
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
49
            auto& vec_res = col_res->get_data();
509
510
49
            if (!vec_res.empty()) {
511
49
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
49
                                                                 decimal_col->get_scale(), vec_res,
513
49
                                                                 scale_arg, result_scale);
514
49
            }
515
49
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
49
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
1
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
1
        } else if constexpr (is_decimal(T)) {
504
1
            const auto* const decimal_col =
505
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
1
            const auto& vec_src = decimal_col->get_data();
507
1
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
1
            auto& vec_res = col_res->get_data();
509
510
1
            if (!vec_res.empty()) {
511
1
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
1
                                                                 decimal_col->get_scale(), vec_res,
513
1
                                                                 scale_arg, result_scale);
514
1
            }
515
1
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
424
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
424
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
424
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
424
            auto col_res = ColumnVector<T>::create();
470
471
424
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
424
            vec_res.resize(col->get_data().size());
473
474
424
            if (!vec_res.empty()) {
475
424
                if (scale_arg == 0) {
476
64
                    size_t scale = 1;
477
64
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
360
                } else if (scale_arg > 0) {
479
360
                    size_t scale = int_exp10(scale_arg);
480
360
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
360
                                                                     vec_res);
482
360
                } else {
483
0
                    size_t scale = int_exp10(-scale_arg);
484
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
0
                                                                     vec_res);
486
0
                }
487
424
            }
488
489
424
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
        } else if constexpr (is_decimal(T)) {
504
            const auto* const decimal_col =
505
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
            const auto& vec_src = decimal_col->get_data();
507
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
            auto& vec_res = col_res->get_data();
509
510
            if (!vec_res.empty()) {
511
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
                                                                 decimal_col->get_scale(), vec_res,
513
                                                                 scale_arg, result_scale);
514
            }
515
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
424
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
44
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
44
        } else if constexpr (is_decimal(T)) {
504
44
            const auto* const decimal_col =
505
44
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
44
            const auto& vec_src = decimal_col->get_data();
507
44
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
44
            auto& vec_res = col_res->get_data();
509
510
44
            if (!vec_res.empty()) {
511
44
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
44
                                                                 decimal_col->get_scale(), vec_res,
513
44
                                                                 scale_arg, result_scale);
514
44
            }
515
44
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
44
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
119
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
119
        } else if constexpr (is_decimal(T)) {
504
119
            const auto* const decimal_col =
505
119
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
119
            const auto& vec_src = decimal_col->get_data();
507
119
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
119
            auto& vec_res = col_res->get_data();
509
510
119
            if (!vec_res.empty()) {
511
119
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
119
                                                                 decimal_col->get_scale(), vec_res,
513
119
                                                                 scale_arg, result_scale);
514
119
            }
515
119
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
119
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
663
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
663
        } else if constexpr (is_decimal(T)) {
504
663
            const auto* const decimal_col =
505
663
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
663
            const auto& vec_src = decimal_col->get_data();
507
663
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
663
            auto& vec_res = col_res->get_data();
509
510
664
            if (!vec_res.empty()) {
511
664
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
664
                                                                 decimal_col->get_scale(), vec_res,
513
664
                                                                 scale_arg, result_scale);
514
664
            }
515
663
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
663
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
13
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
13
        } else if constexpr (is_decimal(T)) {
504
13
            const auto* const decimal_col =
505
13
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
13
            const auto& vec_src = decimal_col->get_data();
507
13
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
13
            auto& vec_res = col_res->get_data();
509
510
13
            if (!vec_res.empty()) {
511
13
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
13
                                                                 decimal_col->get_scale(), vec_res,
513
13
                                                                 scale_arg, result_scale);
514
13
            }
515
13
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
13
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
24
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
24
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
24
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
24
            auto col_res = ColumnVector<T>::create();
470
471
24
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
24
            vec_res.resize(col->get_data().size());
473
474
24
            if (!vec_res.empty()) {
475
24
                if (scale_arg == 0) {
476
24
                    size_t scale = 1;
477
24
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
24
                } else if (scale_arg > 0) {
479
0
                    size_t scale = int_exp10(scale_arg);
480
0
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
0
                                                                     vec_res);
482
0
                } else {
483
0
                    size_t scale = int_exp10(-scale_arg);
484
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
0
                                                                     vec_res);
486
0
                }
487
24
            }
488
489
24
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
        } else if constexpr (is_decimal(T)) {
504
            const auto* const decimal_col =
505
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
            const auto& vec_src = decimal_col->get_data();
507
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
            auto& vec_res = col_res->get_data();
509
510
            if (!vec_res.empty()) {
511
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
                                                                 decimal_col->get_scale(), vec_res,
513
                                                                 scale_arg, result_scale);
514
            }
515
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
24
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
45
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
45
        } else if constexpr (is_decimal(T)) {
504
45
            const auto* const decimal_col =
505
45
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
45
            const auto& vec_src = decimal_col->get_data();
507
45
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
45
            auto& vec_res = col_res->get_data();
509
510
45
            if (!vec_res.empty()) {
511
45
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
45
                                                                 decimal_col->get_scale(), vec_res,
513
45
                                                                 scale_arg, result_scale);
514
45
            }
515
45
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
45
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
39
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
39
        } else if constexpr (is_decimal(T)) {
504
39
            const auto* const decimal_col =
505
39
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
39
            const auto& vec_src = decimal_col->get_data();
507
39
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
39
            auto& vec_res = col_res->get_data();
509
510
39
            if (!vec_res.empty()) {
511
39
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
39
                                                                 decimal_col->get_scale(), vec_res,
513
39
                                                                 scale_arg, result_scale);
514
39
            }
515
39
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
39
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
54
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
54
        } else if constexpr (is_decimal(T)) {
504
54
            const auto* const decimal_col =
505
54
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
54
            const auto& vec_src = decimal_col->get_data();
507
54
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
54
            auto& vec_res = col_res->get_data();
509
510
54
            if (!vec_res.empty()) {
511
54
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
54
                                                                 decimal_col->get_scale(), vec_res,
513
54
                                                                 scale_arg, result_scale);
514
54
            }
515
54
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
54
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
1
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
1
        } else if constexpr (is_decimal(T)) {
504
1
            const auto* const decimal_col =
505
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
1
            const auto& vec_src = decimal_col->get_data();
507
1
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
1
            auto& vec_res = col_res->get_data();
509
510
1
            if (!vec_res.empty()) {
511
1
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
1
                                                                 decimal_col->get_scale(), vec_res,
513
1
                                                                 scale_arg, result_scale);
514
1
            }
515
1
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
19
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
19
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
19
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
19
            auto col_res = ColumnVector<T>::create();
470
471
19
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
19
            vec_res.resize(col->get_data().size());
473
474
19
            if (!vec_res.empty()) {
475
19
                if (scale_arg == 0) {
476
11
                    size_t scale = 1;
477
11
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
11
                } else if (scale_arg > 0) {
479
8
                    size_t scale = int_exp10(scale_arg);
480
8
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
8
                                                                     vec_res);
482
8
                } else {
483
0
                    size_t scale = int_exp10(-scale_arg);
484
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
0
                                                                     vec_res);
486
0
                }
487
19
            }
488
489
19
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
        } else if constexpr (is_decimal(T)) {
504
            const auto* const decimal_col =
505
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
            const auto& vec_src = decimal_col->get_data();
507
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
            auto& vec_res = col_res->get_data();
509
510
            if (!vec_res.empty()) {
511
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
                                                                 decimal_col->get_scale(), vec_res,
513
                                                                 scale_arg, result_scale);
514
            }
515
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
19
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
31
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
31
        } else if constexpr (is_decimal(T)) {
504
31
            const auto* const decimal_col =
505
31
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
31
            const auto& vec_src = decimal_col->get_data();
507
31
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
31
            auto& vec_res = col_res->get_data();
509
510
31
            if (!vec_res.empty()) {
511
31
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
31
                                                                 decimal_col->get_scale(), vec_res,
513
31
                                                                 scale_arg, result_scale);
514
31
            }
515
31
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
31
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
91
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
91
        } else if constexpr (is_decimal(T)) {
504
91
            const auto* const decimal_col =
505
91
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
91
            const auto& vec_src = decimal_col->get_data();
507
91
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
91
            auto& vec_res = col_res->get_data();
509
510
91
            if (!vec_res.empty()) {
511
91
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
91
                                                                 decimal_col->get_scale(), vec_res,
513
91
                                                                 scale_arg, result_scale);
514
91
            }
515
91
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
91
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
28
                                     [[maybe_unused]] Int16 result_scale) {
466
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
467
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
            auto col_res = ColumnVector<T>::create();
470
471
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
            vec_res.resize(col->get_data().size());
473
474
            if (!vec_res.empty()) {
475
                if (scale_arg == 0) {
476
                    size_t scale = 1;
477
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
                } else if (scale_arg > 0) {
479
                    size_t scale = int_exp10(scale_arg);
480
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
                                                                     vec_res);
482
                } else {
483
                    size_t scale = int_exp10(-scale_arg);
484
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
485
                                                                     vec_res);
486
                }
487
            }
488
489
            return col_res;
490
        } else if constexpr (T == TYPE_DECIMALV2) {
491
            const auto* const decimal_col =
492
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
493
            const auto& vec_src = decimal_col->get_data();
494
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
495
            auto& vec_res = col_res->get_data();
496
497
            if (!vec_res.empty()) {
498
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
499
                                                                 decimal_col->get_scale(), vec_res,
500
                                                                 scale_arg, result_scale);
501
            }
502
            return col_res;
503
28
        } else if constexpr (is_decimal(T)) {
504
28
            const auto* const decimal_col =
505
28
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
28
            const auto& vec_src = decimal_col->get_data();
507
28
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
28
            auto& vec_res = col_res->get_data();
509
510
28
            if (!vec_res.empty()) {
511
28
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
28
                                                                 decimal_col->get_scale(), vec_res,
513
28
                                                                 scale_arg, result_scale);
514
28
            }
515
28
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
28
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
520
521
    // result_scale: scale for result decimal, this scale is got from planner
522
    static ColumnPtr apply_vec_vec(const IColumn* col_general, const IColumn* col_scale,
523
292
                                   [[maybe_unused]] Int16 result_scale) {
524
292
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
292
        const size_t input_row_count = col_scale_i32.size();
526
2.62k
        for (size_t i = 0; i < input_row_count; ++i) {
527
2.32k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
2.32k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
2.32k
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
2.32k
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
82
                      T == TYPE_TIMEV2) {
538
82
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
82
            auto col_res = ColumnVector<T>::create();
540
82
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
82
            vec_res.resize(input_row_count);
542
543
166
            for (size_t i = 0; i < input_row_count; ++i) {
544
84
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
84
                if (scale_arg == 0) {
546
21
                    size_t scale = 1;
547
21
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
21
                                                                 vec_res[i]);
549
63
                } else if (scale_arg > 0) {
550
41
                    size_t scale = int_exp10(scale_arg);
551
41
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
41
                                                                     vec_res[i]);
553
41
                } else {
554
22
                    size_t scale = int_exp10(-scale_arg);
555
22
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
22
                                                                     vec_res[i]);
557
22
                }
558
84
            }
559
82
            return col_res;
560
82
        } else if constexpr (T == TYPE_DECIMALV2) {
561
0
            const auto* decimal_col =
562
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
0
            const Int32 input_scale = decimal_col->get_scale();
564
0
            auto col_res =
565
0
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
0
            for (size_t i = 0; i < input_row_count; ++i) {
568
0
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
0
                        decimal_col->get_element(i).value(), input_scale,
570
0
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
0
            }
572
573
0
            return col_res;
574
210
        } else if constexpr (is_decimal(T)) {
575
210
            const auto* decimal_col =
576
210
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
210
            const Int32 input_scale = decimal_col->get_scale();
578
210
            auto col_res =
579
210
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
2.45k
            for (size_t i = 0; i < input_row_count; ++i) {
582
2.24k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
2.24k
                        decimal_col->get_element(i).value, input_scale,
584
2.24k
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
2.24k
            }
586
587
210
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
292
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
4
                                   [[maybe_unused]] Int16 result_scale) {
524
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
4
        const size_t input_row_count = col_scale_i32.size();
526
8
        for (size_t i = 0; i < input_row_count; ++i) {
527
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
4
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
4
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
4
                      T == TYPE_TIMEV2) {
538
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
4
            auto col_res = ColumnVector<T>::create();
540
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
4
            vec_res.resize(input_row_count);
542
543
8
            for (size_t i = 0; i < input_row_count; ++i) {
544
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
                if (scale_arg == 0) {
546
1
                    size_t scale = 1;
547
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
1
                                                                 vec_res[i]);
549
3
                } else if (scale_arg > 0) {
550
2
                    size_t scale = int_exp10(scale_arg);
551
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
2
                                                                     vec_res[i]);
553
2
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
4
            }
559
4
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
13
                                   [[maybe_unused]] Int16 result_scale) {
524
13
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
13
        const size_t input_row_count = col_scale_i32.size();
526
26
        for (size_t i = 0; i < input_row_count; ++i) {
527
13
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
13
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
13
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
13
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
13
                      T == TYPE_TIMEV2) {
538
13
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
13
            auto col_res = ColumnVector<T>::create();
540
13
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
13
            vec_res.resize(input_row_count);
542
543
26
            for (size_t i = 0; i < input_row_count; ++i) {
544
13
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
13
                if (scale_arg == 0) {
546
1
                    size_t scale = 1;
547
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
1
                                                                 vec_res[i]);
549
12
                } else if (scale_arg > 0) {
550
11
                    size_t scale = int_exp10(scale_arg);
551
11
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
11
                                                                     vec_res[i]);
553
11
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
13
            }
559
13
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
13
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
24
                                   [[maybe_unused]] Int16 result_scale) {
524
24
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
24
        const size_t input_row_count = col_scale_i32.size();
526
312
        for (size_t i = 0; i < input_row_count; ++i) {
527
288
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
288
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
288
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
288
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
24
        } else if constexpr (is_decimal(T)) {
575
24
            const auto* decimal_col =
576
24
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
24
            const Int32 input_scale = decimal_col->get_scale();
578
24
            auto col_res =
579
24
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
312
            for (size_t i = 0; i < input_row_count; ++i) {
582
288
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
288
                        decimal_col->get_element(i).value, input_scale,
584
288
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
288
            }
586
587
24
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
24
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
8
                                   [[maybe_unused]] Int16 result_scale) {
524
8
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
8
        const size_t input_row_count = col_scale_i32.size();
526
159
        for (size_t i = 0; i < input_row_count; ++i) {
527
151
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
151
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
151
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
151
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
8
        } else if constexpr (is_decimal(T)) {
575
8
            const auto* decimal_col =
576
8
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
8
            const Int32 input_scale = decimal_col->get_scale();
578
8
            auto col_res =
579
8
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
159
            for (size_t i = 0; i < input_row_count; ++i) {
582
151
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
151
                        decimal_col->get_element(i).value, input_scale,
584
151
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
151
            }
586
587
8
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
8
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
3
                                   [[maybe_unused]] Int16 result_scale) {
524
3
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
3
        const size_t input_row_count = col_scale_i32.size();
526
6
        for (size_t i = 0; i < input_row_count; ++i) {
527
3
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
3
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
3
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
3
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
3
        } else if constexpr (is_decimal(T)) {
575
3
            const auto* decimal_col =
576
3
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
3
            const Int32 input_scale = decimal_col->get_scale();
578
3
            auto col_res =
579
3
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
6
            for (size_t i = 0; i < input_row_count; ++i) {
582
3
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
3
                        decimal_col->get_element(i).value, input_scale,
584
3
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
3
            }
586
587
3
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
3
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
4
                                   [[maybe_unused]] Int16 result_scale) {
524
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
4
        const size_t input_row_count = col_scale_i32.size();
526
8
        for (size_t i = 0; i < input_row_count; ++i) {
527
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
4
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
4
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
4
                      T == TYPE_TIMEV2) {
538
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
4
            auto col_res = ColumnVector<T>::create();
540
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
4
            vec_res.resize(input_row_count);
542
543
8
            for (size_t i = 0; i < input_row_count; ++i) {
544
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
                if (scale_arg == 0) {
546
1
                    size_t scale = 1;
547
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
1
                                                                 vec_res[i]);
549
3
                } else if (scale_arg > 0) {
550
2
                    size_t scale = int_exp10(scale_arg);
551
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
2
                                                                     vec_res[i]);
553
2
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
4
            }
559
4
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
12
                                   [[maybe_unused]] Int16 result_scale) {
524
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
12
        const size_t input_row_count = col_scale_i32.size();
526
26
        for (size_t i = 0; i < input_row_count; ++i) {
527
14
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
14
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
14
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
14
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
12
                      T == TYPE_TIMEV2) {
538
12
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
12
            auto col_res = ColumnVector<T>::create();
540
12
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
12
            vec_res.resize(input_row_count);
542
543
26
            for (size_t i = 0; i < input_row_count; ++i) {
544
14
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
14
                if (scale_arg == 0) {
546
4
                    size_t scale = 1;
547
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
4
                                                                 vec_res[i]);
549
10
                } else if (scale_arg > 0) {
550
9
                    size_t scale = int_exp10(scale_arg);
551
9
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
9
                                                                     vec_res[i]);
553
9
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
14
            }
559
12
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
12
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
26
                                   [[maybe_unused]] Int16 result_scale) {
524
26
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
26
        const size_t input_row_count = col_scale_i32.size();
526
316
        for (size_t i = 0; i < input_row_count; ++i) {
527
290
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
290
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
290
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
290
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
26
        } else if constexpr (is_decimal(T)) {
575
26
            const auto* decimal_col =
576
26
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
26
            const Int32 input_scale = decimal_col->get_scale();
578
26
            auto col_res =
579
26
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
316
            for (size_t i = 0; i < input_row_count; ++i) {
582
290
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
290
                        decimal_col->get_element(i).value, input_scale,
584
290
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
290
            }
586
587
26
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
26
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
14
                                   [[maybe_unused]] Int16 result_scale) {
524
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
14
        const size_t input_row_count = col_scale_i32.size();
526
171
        for (size_t i = 0; i < input_row_count; ++i) {
527
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
157
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
157
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
14
        } else if constexpr (is_decimal(T)) {
575
14
            const auto* decimal_col =
576
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
14
            const Int32 input_scale = decimal_col->get_scale();
578
14
            auto col_res =
579
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
171
            for (size_t i = 0; i < input_row_count; ++i) {
582
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
157
                        decimal_col->get_element(i).value, input_scale,
584
157
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
157
            }
586
587
14
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
5
                                   [[maybe_unused]] Int16 result_scale) {
524
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
5
        const size_t input_row_count = col_scale_i32.size();
526
10
        for (size_t i = 0; i < input_row_count; ++i) {
527
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
5
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
5
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
5
        } else if constexpr (is_decimal(T)) {
575
5
            const auto* decimal_col =
576
5
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
5
            const Int32 input_scale = decimal_col->get_scale();
578
5
            auto col_res =
579
5
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
10
            for (size_t i = 0; i < input_row_count; ++i) {
582
5
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
5
                        decimal_col->get_element(i).value, input_scale,
584
5
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
5
            }
586
587
5
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
5
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
5
                                   [[maybe_unused]] Int16 result_scale) {
524
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
5
        const size_t input_row_count = col_scale_i32.size();
526
10
        for (size_t i = 0; i < input_row_count; ++i) {
527
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
5
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
5
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
5
                      T == TYPE_TIMEV2) {
538
5
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
5
            auto col_res = ColumnVector<T>::create();
540
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
5
            vec_res.resize(input_row_count);
542
543
10
            for (size_t i = 0; i < input_row_count; ++i) {
544
5
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
                if (scale_arg == 0) {
546
2
                    size_t scale = 1;
547
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
2
                                                                 vec_res[i]);
549
3
                } else if (scale_arg > 0) {
550
2
                    size_t scale = int_exp10(scale_arg);
551
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
2
                                                                     vec_res[i]);
553
2
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
5
            }
559
5
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
10
                                   [[maybe_unused]] Int16 result_scale) {
524
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
10
        const size_t input_row_count = col_scale_i32.size();
526
20
        for (size_t i = 0; i < input_row_count; ++i) {
527
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
10
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
10
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
10
                      T == TYPE_TIMEV2) {
538
10
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
10
            auto col_res = ColumnVector<T>::create();
540
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
10
            vec_res.resize(input_row_count);
542
543
20
            for (size_t i = 0; i < input_row_count; ++i) {
544
10
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
10
                if (scale_arg == 0) {
546
2
                    size_t scale = 1;
547
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
2
                                                                 vec_res[i]);
549
8
                } else if (scale_arg > 0) {
550
3
                    size_t scale = int_exp10(scale_arg);
551
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
3
                                                                     vec_res[i]);
553
5
                } else {
554
5
                    size_t scale = int_exp10(-scale_arg);
555
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
5
                                                                     vec_res[i]);
557
5
                }
558
10
            }
559
10
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
25
                                   [[maybe_unused]] Int16 result_scale) {
524
25
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
25
        const size_t input_row_count = col_scale_i32.size();
526
314
        for (size_t i = 0; i < input_row_count; ++i) {
527
289
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
289
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
289
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
289
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
25
        } else if constexpr (is_decimal(T)) {
575
25
            const auto* decimal_col =
576
25
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
25
            const Int32 input_scale = decimal_col->get_scale();
578
25
            auto col_res =
579
25
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
314
            for (size_t i = 0; i < input_row_count; ++i) {
582
289
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
289
                        decimal_col->get_element(i).value, input_scale,
584
289
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
289
            }
586
587
25
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
25
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
14
                                   [[maybe_unused]] Int16 result_scale) {
524
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
14
        const size_t input_row_count = col_scale_i32.size();
526
171
        for (size_t i = 0; i < input_row_count; ++i) {
527
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
157
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
157
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
14
        } else if constexpr (is_decimal(T)) {
575
14
            const auto* decimal_col =
576
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
14
            const Int32 input_scale = decimal_col->get_scale();
578
14
            auto col_res =
579
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
171
            for (size_t i = 0; i < input_row_count; ++i) {
582
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
157
                        decimal_col->get_element(i).value, input_scale,
584
157
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
157
            }
586
587
14
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
5
                                   [[maybe_unused]] Int16 result_scale) {
524
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
5
        const size_t input_row_count = col_scale_i32.size();
526
10
        for (size_t i = 0; i < input_row_count; ++i) {
527
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
5
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
5
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
5
        } else if constexpr (is_decimal(T)) {
575
5
            const auto* decimal_col =
576
5
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
5
            const Int32 input_scale = decimal_col->get_scale();
578
5
            auto col_res =
579
5
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
10
            for (size_t i = 0; i < input_row_count; ++i) {
582
5
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
5
                        decimal_col->get_element(i).value, input_scale,
584
5
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
5
            }
586
587
5
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
5
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
4
                                   [[maybe_unused]] Int16 result_scale) {
524
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
4
        const size_t input_row_count = col_scale_i32.size();
526
8
        for (size_t i = 0; i < input_row_count; ++i) {
527
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
4
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
4
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
4
                      T == TYPE_TIMEV2) {
538
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
4
            auto col_res = ColumnVector<T>::create();
540
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
4
            vec_res.resize(input_row_count);
542
543
8
            for (size_t i = 0; i < input_row_count; ++i) {
544
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
                if (scale_arg == 0) {
546
1
                    size_t scale = 1;
547
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
1
                                                                 vec_res[i]);
549
3
                } else if (scale_arg > 0) {
550
2
                    size_t scale = int_exp10(scale_arg);
551
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
2
                                                                     vec_res[i]);
553
2
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
4
            }
559
4
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
15
                                   [[maybe_unused]] Int16 result_scale) {
524
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
15
        const size_t input_row_count = col_scale_i32.size();
526
30
        for (size_t i = 0; i < input_row_count; ++i) {
527
15
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
15
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
15
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
15
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
15
                      T == TYPE_TIMEV2) {
538
15
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
15
            auto col_res = ColumnVector<T>::create();
540
15
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
15
            vec_res.resize(input_row_count);
542
543
30
            for (size_t i = 0; i < input_row_count; ++i) {
544
15
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
15
                if (scale_arg == 0) {
546
5
                    size_t scale = 1;
547
5
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
5
                                                                 vec_res[i]);
549
10
                } else if (scale_arg > 0) {
550
5
                    size_t scale = int_exp10(scale_arg);
551
5
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
5
                                                                     vec_res[i]);
553
5
                } else {
554
5
                    size_t scale = int_exp10(-scale_arg);
555
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
5
                                                                     vec_res[i]);
557
5
                }
558
15
            }
559
15
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
27
                                   [[maybe_unused]] Int16 result_scale) {
524
27
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
27
        const size_t input_row_count = col_scale_i32.size();
526
318
        for (size_t i = 0; i < input_row_count; ++i) {
527
291
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
291
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
291
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
291
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
27
        } else if constexpr (is_decimal(T)) {
575
27
            const auto* decimal_col =
576
27
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
27
            const Int32 input_scale = decimal_col->get_scale();
578
27
            auto col_res =
579
27
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
318
            for (size_t i = 0; i < input_row_count; ++i) {
582
291
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
291
                        decimal_col->get_element(i).value, input_scale,
584
291
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
291
            }
586
587
27
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
27
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
13
                                   [[maybe_unused]] Int16 result_scale) {
524
13
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
13
        const size_t input_row_count = col_scale_i32.size();
526
169
        for (size_t i = 0; i < input_row_count; ++i) {
527
156
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
156
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
156
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
156
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
13
        } else if constexpr (is_decimal(T)) {
575
13
            const auto* decimal_col =
576
13
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
13
            const Int32 input_scale = decimal_col->get_scale();
578
13
            auto col_res =
579
13
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
169
            for (size_t i = 0; i < input_row_count; ++i) {
582
156
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
156
                        decimal_col->get_element(i).value, input_scale,
584
156
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
156
            }
586
587
13
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
13
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
4
                                   [[maybe_unused]] Int16 result_scale) {
524
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
4
        const size_t input_row_count = col_scale_i32.size();
526
8
        for (size_t i = 0; i < input_row_count; ++i) {
527
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
4
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
4
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
4
        } else if constexpr (is_decimal(T)) {
575
4
            const auto* decimal_col =
576
4
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
4
            const Int32 input_scale = decimal_col->get_scale();
578
4
            auto col_res =
579
4
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
8
            for (size_t i = 0; i < input_row_count; ++i) {
582
4
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
4
                        decimal_col->get_element(i).value, input_scale,
584
4
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
4
            }
586
587
4
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
4
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
5
                                   [[maybe_unused]] Int16 result_scale) {
524
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
5
        const size_t input_row_count = col_scale_i32.size();
526
10
        for (size_t i = 0; i < input_row_count; ++i) {
527
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
5
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
5
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
5
                      T == TYPE_TIMEV2) {
538
5
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
5
            auto col_res = ColumnVector<T>::create();
540
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
5
            vec_res.resize(input_row_count);
542
543
10
            for (size_t i = 0; i < input_row_count; ++i) {
544
5
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
                if (scale_arg == 0) {
546
2
                    size_t scale = 1;
547
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
2
                                                                 vec_res[i]);
549
3
                } else if (scale_arg > 0) {
550
2
                    size_t scale = int_exp10(scale_arg);
551
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
2
                                                                     vec_res[i]);
553
2
                } else {
554
1
                    size_t scale = int_exp10(-scale_arg);
555
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
1
                                                                     vec_res[i]);
557
1
                }
558
5
            }
559
5
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
10
                                   [[maybe_unused]] Int16 result_scale) {
524
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
10
        const size_t input_row_count = col_scale_i32.size();
526
20
        for (size_t i = 0; i < input_row_count; ++i) {
527
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
10
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
10
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
10
                      T == TYPE_TIMEV2) {
538
10
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
10
            auto col_res = ColumnVector<T>::create();
540
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
10
            vec_res.resize(input_row_count);
542
543
20
            for (size_t i = 0; i < input_row_count; ++i) {
544
10
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
10
                if (scale_arg == 0) {
546
2
                    size_t scale = 1;
547
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
2
                                                                 vec_res[i]);
549
8
                } else if (scale_arg > 0) {
550
3
                    size_t scale = int_exp10(scale_arg);
551
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
3
                                                                     vec_res[i]);
553
5
                } else {
554
5
                    size_t scale = int_exp10(-scale_arg);
555
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
5
                                                                     vec_res[i]);
557
5
                }
558
10
            }
559
10
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
        } else if constexpr (is_decimal(T)) {
575
            const auto* decimal_col =
576
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
            const Int32 input_scale = decimal_col->get_scale();
578
            auto col_res =
579
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
            for (size_t i = 0; i < input_row_count; ++i) {
582
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
                        decimal_col->get_element(i).value, input_scale,
584
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
            }
586
587
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
25
                                   [[maybe_unused]] Int16 result_scale) {
524
25
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
25
        const size_t input_row_count = col_scale_i32.size();
526
314
        for (size_t i = 0; i < input_row_count; ++i) {
527
289
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
289
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
289
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
289
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
25
        } else if constexpr (is_decimal(T)) {
575
25
            const auto* decimal_col =
576
25
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
25
            const Int32 input_scale = decimal_col->get_scale();
578
25
            auto col_res =
579
25
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
314
            for (size_t i = 0; i < input_row_count; ++i) {
582
289
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
289
                        decimal_col->get_element(i).value, input_scale,
584
289
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
289
            }
586
587
25
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
25
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
14
                                   [[maybe_unused]] Int16 result_scale) {
524
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
14
        const size_t input_row_count = col_scale_i32.size();
526
171
        for (size_t i = 0; i < input_row_count; ++i) {
527
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
157
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
157
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
14
        } else if constexpr (is_decimal(T)) {
575
14
            const auto* decimal_col =
576
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
14
            const Int32 input_scale = decimal_col->get_scale();
578
14
            auto col_res =
579
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
171
            for (size_t i = 0; i < input_row_count; ++i) {
582
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
157
                        decimal_col->get_element(i).value, input_scale,
584
157
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
157
            }
586
587
14
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
3
                                   [[maybe_unused]] Int16 result_scale) {
524
3
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
3
        const size_t input_row_count = col_scale_i32.size();
526
6
        for (size_t i = 0; i < input_row_count; ++i) {
527
3
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
3
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
3
                scale_arg < std::numeric_limits<Int16>::min()) {
530
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
531
0
                                       "Scale argument for function is out of bound: {}",
532
0
                                       scale_arg);
533
0
            }
534
3
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
                      T == TYPE_TIMEV2) {
538
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
            auto col_res = ColumnVector<T>::create();
540
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
            vec_res.resize(input_row_count);
542
543
            for (size_t i = 0; i < input_row_count; ++i) {
544
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
                if (scale_arg == 0) {
546
                    size_t scale = 1;
547
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
                                                                 vec_res[i]);
549
                } else if (scale_arg > 0) {
550
                    size_t scale = int_exp10(scale_arg);
551
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
                                                                     vec_res[i]);
553
                } else {
554
                    size_t scale = int_exp10(-scale_arg);
555
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
                                                                     vec_res[i]);
557
                }
558
            }
559
            return col_res;
560
        } else if constexpr (T == TYPE_DECIMALV2) {
561
            const auto* decimal_col =
562
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
563
            const Int32 input_scale = decimal_col->get_scale();
564
            auto col_res =
565
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
566
567
            for (size_t i = 0; i < input_row_count; ++i) {
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
569
                        decimal_col->get_element(i).value(), input_scale,
570
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
571
            }
572
573
            return col_res;
574
3
        } else if constexpr (is_decimal(T)) {
575
3
            const auto* decimal_col =
576
3
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
3
            const Int32 input_scale = decimal_col->get_scale();
578
3
            auto col_res =
579
3
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
6
            for (size_t i = 0; i < input_row_count; ++i) {
582
3
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
3
                        decimal_col->get_element(i).value, input_scale,
584
3
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
3
            }
586
587
3
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
3
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
592
593
    // result_scale: scale for result decimal, this scale is got from planner
594
    static ColumnPtr apply_const_vec(const ColumnConst* const_col_general, const IColumn* col_scale,
595
166
                                     [[maybe_unused]] Int16 result_scale) {
596
166
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
166
        const size_t input_rows_count = col_scale->size();
598
599
2.36k
        for (size_t i = 0; i < input_rows_count; ++i) {
600
2.20k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
2.20k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
2.20k
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
2.20k
        }
609
610
166
        if constexpr (T == TYPE_DECIMALV2) {
611
0
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
0
                            const_col_general->get_data_column());
614
0
            const auto& general_val = data_col_general.get_data()[0];
615
0
            Int32 input_scale = data_col_general.get_scale();
616
0
            auto col_res =
617
0
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
0
            for (size_t i = 0; i < input_rows_count; ++i) {
620
0
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
0
                        general_val, input_scale, col_res->get_element(i).value(),
622
0
                        col_scale_i32.get_data()[i], result_scale);
623
0
            }
624
625
0
            return col_res;
626
117
        } else if constexpr (is_decimal(T)) {
627
117
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
117
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
117
                            const_col_general->get_data_column());
630
117
            const auto& general_val = data_col_general.get_data()[0];
631
117
            Int32 input_scale = data_col_general.get_scale();
632
117
            auto col_res =
633
117
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
2.26k
            for (size_t i = 0; i < input_rows_count; ++i) {
636
2.15k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
2.15k
                        general_val, input_scale, col_res->get_element(i).value,
638
2.15k
                        col_scale_i32.get_data()[i], result_scale);
639
2.15k
            }
640
641
117
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
49
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
49
            const ColumnVector<T>& data_col_general =
645
49
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
49
            const auto& general_val = data_col_general.get_data()[0];
647
49
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
49
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
98
            for (size_t i = 0; i < input_rows_count; ++i) {
651
49
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
49
                if (scale_arg == 0) {
653
14
                    size_t scale = 1;
654
14
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
35
                } else if (scale_arg > 0) {
656
25
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
25
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
25
                                                                     vec_res[i]);
659
25
                } else {
660
10
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
10
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
10
                                                                     vec_res[i]);
663
10
                }
664
49
            }
665
666
49
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
166
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
4
                                     [[maybe_unused]] Int16 result_scale) {
596
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
4
        const size_t input_rows_count = col_scale->size();
598
599
8
        for (size_t i = 0; i < input_rows_count; ++i) {
600
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
4
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
4
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
4
            const ColumnVector<T>& data_col_general =
645
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
4
            const auto& general_val = data_col_general.get_data()[0];
647
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
8
            for (size_t i = 0; i < input_rows_count; ++i) {
651
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
4
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
3
                } else if (scale_arg > 0) {
656
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
2
                                                                     vec_res[i]);
659
2
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
4
            }
665
666
4
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
5
                                     [[maybe_unused]] Int16 result_scale) {
596
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
5
        const size_t input_rows_count = col_scale->size();
598
599
10
        for (size_t i = 0; i < input_rows_count; ++i) {
600
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
5
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
5
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
5
            const ColumnVector<T>& data_col_general =
645
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
5
            const auto& general_val = data_col_general.get_data()[0];
647
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
10
            for (size_t i = 0; i < input_rows_count; ++i) {
651
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
5
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
4
                } else if (scale_arg > 0) {
656
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
3
                                                                     vec_res[i]);
659
3
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
5
            }
665
666
5
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
15
                                     [[maybe_unused]] Int16 result_scale) {
596
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
15
        const size_t input_rows_count = col_scale->size();
598
599
294
        for (size_t i = 0; i < input_rows_count; ++i) {
600
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
279
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
279
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
15
        } else if constexpr (is_decimal(T)) {
627
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
15
                            const_col_general->get_data_column());
630
15
            const auto& general_val = data_col_general.get_data()[0];
631
15
            Int32 input_scale = data_col_general.get_scale();
632
15
            auto col_res =
633
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
294
            for (size_t i = 0; i < input_rows_count; ++i) {
636
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
279
                        general_val, input_scale, col_res->get_element(i).value,
638
279
                        col_scale_i32.get_data()[i], result_scale);
639
279
            }
640
641
15
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
14
                                     [[maybe_unused]] Int16 result_scale) {
596
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
14
        const size_t input_rows_count = col_scale->size();
598
599
171
        for (size_t i = 0; i < input_rows_count; ++i) {
600
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
157
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
157
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
14
        } else if constexpr (is_decimal(T)) {
627
14
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
14
                            const_col_general->get_data_column());
630
14
            const auto& general_val = data_col_general.get_data()[0];
631
14
            Int32 input_scale = data_col_general.get_scale();
632
14
            auto col_res =
633
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
171
            for (size_t i = 0; i < input_rows_count; ++i) {
636
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
157
                        general_val, input_scale, col_res->get_element(i).value,
638
157
                        col_scale_i32.get_data()[i], result_scale);
639
157
            }
640
641
14
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
4
                                     [[maybe_unused]] Int16 result_scale) {
596
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
4
        const size_t input_rows_count = col_scale->size();
598
599
8
        for (size_t i = 0; i < input_rows_count; ++i) {
600
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
4
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
4
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
4
            const ColumnVector<T>& data_col_general =
645
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
4
            const auto& general_val = data_col_general.get_data()[0];
647
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
8
            for (size_t i = 0; i < input_rows_count; ++i) {
651
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
4
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
3
                } else if (scale_arg > 0) {
656
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
2
                                                                     vec_res[i]);
659
2
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
4
            }
665
666
4
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
5
                                     [[maybe_unused]] Int16 result_scale) {
596
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
5
        const size_t input_rows_count = col_scale->size();
598
599
10
        for (size_t i = 0; i < input_rows_count; ++i) {
600
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
5
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
5
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
5
            const ColumnVector<T>& data_col_general =
645
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
5
            const auto& general_val = data_col_general.get_data()[0];
647
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
10
            for (size_t i = 0; i < input_rows_count; ++i) {
651
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
5
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
4
                } else if (scale_arg > 0) {
656
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
3
                                                                     vec_res[i]);
659
3
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
5
            }
665
666
5
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
15
                                     [[maybe_unused]] Int16 result_scale) {
596
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
15
        const size_t input_rows_count = col_scale->size();
598
599
294
        for (size_t i = 0; i < input_rows_count; ++i) {
600
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
279
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
279
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
15
        } else if constexpr (is_decimal(T)) {
627
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
15
                            const_col_general->get_data_column());
630
15
            const auto& general_val = data_col_general.get_data()[0];
631
15
            Int32 input_scale = data_col_general.get_scale();
632
15
            auto col_res =
633
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
294
            for (size_t i = 0; i < input_rows_count; ++i) {
636
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
279
                        general_val, input_scale, col_res->get_element(i).value,
638
279
                        col_scale_i32.get_data()[i], result_scale);
639
279
            }
640
641
15
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
7
                                     [[maybe_unused]] Int16 result_scale) {
596
7
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
7
        const size_t input_rows_count = col_scale->size();
598
599
157
        for (size_t i = 0; i < input_rows_count; ++i) {
600
150
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
150
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
150
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
150
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
7
        } else if constexpr (is_decimal(T)) {
627
7
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
7
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
7
                            const_col_general->get_data_column());
630
7
            const auto& general_val = data_col_general.get_data()[0];
631
7
            Int32 input_scale = data_col_general.get_scale();
632
7
            auto col_res =
633
7
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
157
            for (size_t i = 0; i < input_rows_count; ++i) {
636
150
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
150
                        general_val, input_scale, col_res->get_element(i).value,
638
150
                        col_scale_i32.get_data()[i], result_scale);
639
150
            }
640
641
7
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
7
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
1
                                     [[maybe_unused]] Int16 result_scale) {
596
1
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
1
        const size_t input_rows_count = col_scale->size();
598
599
2
        for (size_t i = 0; i < input_rows_count; ++i) {
600
1
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
1
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
1
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
1
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
1
        } else if constexpr (is_decimal(T)) {
627
1
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
1
                            const_col_general->get_data_column());
630
1
            const auto& general_val = data_col_general.get_data()[0];
631
1
            Int32 input_scale = data_col_general.get_scale();
632
1
            auto col_res =
633
1
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
2
            for (size_t i = 0; i < input_rows_count; ++i) {
636
1
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
1
                        general_val, input_scale, col_res->get_element(i).value,
638
1
                        col_scale_i32.get_data()[i], result_scale);
639
1
            }
640
641
1
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
5
                                     [[maybe_unused]] Int16 result_scale) {
596
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
5
        const size_t input_rows_count = col_scale->size();
598
599
10
        for (size_t i = 0; i < input_rows_count; ++i) {
600
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
5
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
5
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
5
            const ColumnVector<T>& data_col_general =
645
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
5
            const auto& general_val = data_col_general.get_data()[0];
647
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
10
            for (size_t i = 0; i < input_rows_count; ++i) {
651
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
5
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
3
                } else if (scale_arg > 0) {
656
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
2
                                                                     vec_res[i]);
659
2
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
5
            }
665
666
5
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
6
                                     [[maybe_unused]] Int16 result_scale) {
596
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
6
        const size_t input_rows_count = col_scale->size();
598
599
12
        for (size_t i = 0; i < input_rows_count; ++i) {
600
6
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
6
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
6
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
6
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
6
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
6
            const ColumnVector<T>& data_col_general =
645
6
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
6
            const auto& general_val = data_col_general.get_data()[0];
647
6
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
6
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
12
            for (size_t i = 0; i < input_rows_count; ++i) {
651
6
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
6
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
4
                } else if (scale_arg > 0) {
656
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
3
                                                                     vec_res[i]);
659
3
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
6
            }
665
666
6
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
6
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
16
                                     [[maybe_unused]] Int16 result_scale) {
596
16
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
16
        const size_t input_rows_count = col_scale->size();
598
599
296
        for (size_t i = 0; i < input_rows_count; ++i) {
600
280
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
280
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
280
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
280
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
16
        } else if constexpr (is_decimal(T)) {
627
16
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
16
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
16
                            const_col_general->get_data_column());
630
16
            const auto& general_val = data_col_general.get_data()[0];
631
16
            Int32 input_scale = data_col_general.get_scale();
632
16
            auto col_res =
633
16
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
296
            for (size_t i = 0; i < input_rows_count; ++i) {
636
280
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
280
                        general_val, input_scale, col_res->get_element(i).value,
638
280
                        col_scale_i32.get_data()[i], result_scale);
639
280
            }
640
641
16
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
16
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
6
                                     [[maybe_unused]] Int16 result_scale) {
596
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
6
        const size_t input_rows_count = col_scale->size();
598
599
155
        for (size_t i = 0; i < input_rows_count; ++i) {
600
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
149
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
149
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
6
        } else if constexpr (is_decimal(T)) {
627
6
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
6
                            const_col_general->get_data_column());
630
6
            const auto& general_val = data_col_general.get_data()[0];
631
6
            Int32 input_scale = data_col_general.get_scale();
632
6
            auto col_res =
633
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
155
            for (size_t i = 0; i < input_rows_count; ++i) {
636
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
149
                        general_val, input_scale, col_res->get_element(i).value,
638
149
                        col_scale_i32.get_data()[i], result_scale);
639
149
            }
640
641
6
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
6
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
4
                                     [[maybe_unused]] Int16 result_scale) {
596
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
4
        const size_t input_rows_count = col_scale->size();
598
599
8
        for (size_t i = 0; i < input_rows_count; ++i) {
600
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
4
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
4
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
4
            const ColumnVector<T>& data_col_general =
645
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
4
            const auto& general_val = data_col_general.get_data()[0];
647
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
8
            for (size_t i = 0; i < input_rows_count; ++i) {
651
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
4
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
3
                } else if (scale_arg > 0) {
656
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
2
                                                                     vec_res[i]);
659
2
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
4
            }
665
666
4
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
5
                                     [[maybe_unused]] Int16 result_scale) {
596
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
5
        const size_t input_rows_count = col_scale->size();
598
599
10
        for (size_t i = 0; i < input_rows_count; ++i) {
600
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
5
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
5
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
5
            const ColumnVector<T>& data_col_general =
645
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
5
            const auto& general_val = data_col_general.get_data()[0];
647
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
10
            for (size_t i = 0; i < input_rows_count; ++i) {
651
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
5
                if (scale_arg == 0) {
653
1
                    size_t scale = 1;
654
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
4
                } else if (scale_arg > 0) {
656
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
3
                                                                     vec_res[i]);
659
3
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
5
            }
665
666
5
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
15
                                     [[maybe_unused]] Int16 result_scale) {
596
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
15
        const size_t input_rows_count = col_scale->size();
598
599
294
        for (size_t i = 0; i < input_rows_count; ++i) {
600
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
279
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
279
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
15
        } else if constexpr (is_decimal(T)) {
627
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
15
                            const_col_general->get_data_column());
630
15
            const auto& general_val = data_col_general.get_data()[0];
631
15
            Int32 input_scale = data_col_general.get_scale();
632
15
            auto col_res =
633
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
294
            for (size_t i = 0; i < input_rows_count; ++i) {
636
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
279
                        general_val, input_scale, col_res->get_element(i).value,
638
279
                        col_scale_i32.get_data()[i], result_scale);
639
279
            }
640
641
15
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
6
                                     [[maybe_unused]] Int16 result_scale) {
596
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
6
        const size_t input_rows_count = col_scale->size();
598
599
155
        for (size_t i = 0; i < input_rows_count; ++i) {
600
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
149
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
149
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
6
        } else if constexpr (is_decimal(T)) {
627
6
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
6
                            const_col_general->get_data_column());
630
6
            const auto& general_val = data_col_general.get_data()[0];
631
6
            Int32 input_scale = data_col_general.get_scale();
632
6
            auto col_res =
633
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
155
            for (size_t i = 0; i < input_rows_count; ++i) {
636
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
149
                        general_val, input_scale, col_res->get_element(i).value,
638
149
                        col_scale_i32.get_data()[i], result_scale);
639
149
            }
640
641
6
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
6
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
1
                                     [[maybe_unused]] Int16 result_scale) {
596
1
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
1
        const size_t input_rows_count = col_scale->size();
598
599
2
        for (size_t i = 0; i < input_rows_count; ++i) {
600
1
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
1
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
1
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
1
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
1
        } else if constexpr (is_decimal(T)) {
627
1
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
1
                            const_col_general->get_data_column());
630
1
            const auto& general_val = data_col_general.get_data()[0];
631
1
            Int32 input_scale = data_col_general.get_scale();
632
1
            auto col_res =
633
1
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
2
            for (size_t i = 0; i < input_rows_count; ++i) {
636
1
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
1
                        general_val, input_scale, col_res->get_element(i).value,
638
1
                        col_scale_i32.get_data()[i], result_scale);
639
1
            }
640
641
1
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
5
                                     [[maybe_unused]] Int16 result_scale) {
596
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
5
        const size_t input_rows_count = col_scale->size();
598
599
10
        for (size_t i = 0; i < input_rows_count; ++i) {
600
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
5
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
5
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
5
            const ColumnVector<T>& data_col_general =
645
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
5
            const auto& general_val = data_col_general.get_data()[0];
647
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
10
            for (size_t i = 0; i < input_rows_count; ++i) {
651
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
5
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
3
                } else if (scale_arg > 0) {
656
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
2
                                                                     vec_res[i]);
659
2
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
5
            }
665
666
5
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
6
                                     [[maybe_unused]] Int16 result_scale) {
596
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
6
        const size_t input_rows_count = col_scale->size();
598
599
12
        for (size_t i = 0; i < input_rows_count; ++i) {
600
6
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
6
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
6
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
6
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
        } else if constexpr (is_decimal(T)) {
627
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
                            const_col_general->get_data_column());
630
            const auto& general_val = data_col_general.get_data()[0];
631
            Int32 input_scale = data_col_general.get_scale();
632
            auto col_res =
633
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
            for (size_t i = 0; i < input_rows_count; ++i) {
636
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
                        general_val, input_scale, col_res->get_element(i).value,
638
                        col_scale_i32.get_data()[i], result_scale);
639
            }
640
641
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
6
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
6
            const ColumnVector<T>& data_col_general =
645
6
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
6
            const auto& general_val = data_col_general.get_data()[0];
647
6
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
6
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
12
            for (size_t i = 0; i < input_rows_count; ++i) {
651
6
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
6
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
4
                } else if (scale_arg > 0) {
656
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
3
                                                                     vec_res[i]);
659
3
                } else {
660
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
1
                                                                     vec_res[i]);
663
1
                }
664
6
            }
665
666
6
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
6
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
15
                                     [[maybe_unused]] Int16 result_scale) {
596
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
15
        const size_t input_rows_count = col_scale->size();
598
599
294
        for (size_t i = 0; i < input_rows_count; ++i) {
600
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
279
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
279
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
15
        } else if constexpr (is_decimal(T)) {
627
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
15
                            const_col_general->get_data_column());
630
15
            const auto& general_val = data_col_general.get_data()[0];
631
15
            Int32 input_scale = data_col_general.get_scale();
632
15
            auto col_res =
633
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
294
            for (size_t i = 0; i < input_rows_count; ++i) {
636
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
279
                        general_val, input_scale, col_res->get_element(i).value,
638
279
                        col_scale_i32.get_data()[i], result_scale);
639
279
            }
640
641
15
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
6
                                     [[maybe_unused]] Int16 result_scale) {
596
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
6
        const size_t input_rows_count = col_scale->size();
598
599
155
        for (size_t i = 0; i < input_rows_count; ++i) {
600
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
149
                scale_arg < std::numeric_limits<Int16>::min()) {
604
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
605
0
                                       "Scale argument for function is out of bound: {}",
606
0
                                       scale_arg);
607
0
            }
608
149
        }
609
610
        if constexpr (T == TYPE_DECIMALV2) {
611
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
612
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
613
                            const_col_general->get_data_column());
614
            const auto& general_val = data_col_general.get_data()[0];
615
            Int32 input_scale = data_col_general.get_scale();
616
            auto col_res =
617
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
618
619
            for (size_t i = 0; i < input_rows_count; ++i) {
620
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
621
                        general_val, input_scale, col_res->get_element(i).value(),
622
                        col_scale_i32.get_data()[i], result_scale);
623
            }
624
625
            return col_res;
626
6
        } else if constexpr (is_decimal(T)) {
627
6
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
6
                            const_col_general->get_data_column());
630
6
            const auto& general_val = data_col_general.get_data()[0];
631
6
            Int32 input_scale = data_col_general.get_scale();
632
6
            auto col_res =
633
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
155
            for (size_t i = 0; i < input_rows_count; ++i) {
636
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
149
                        general_val, input_scale, col_res->get_element(i).value,
638
149
                        col_scale_i32.get_data()[i], result_scale);
639
149
            }
640
641
6
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
            const ColumnVector<T>& data_col_general =
645
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
            const auto& general_val = data_col_general.get_data()[0];
647
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
            for (size_t i = 0; i < input_rows_count; ++i) {
651
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
                if (scale_arg == 0) {
653
                    size_t scale = 1;
654
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
                } else if (scale_arg > 0) {
656
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
                                                                     vec_res[i]);
659
                } else {
660
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
                                                                     vec_res[i]);
663
                }
664
            }
665
666
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
6
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
671
};
672
673
template <typename Impl, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
674
class FunctionRounding : public IFunction {
675
public:
676
    static constexpr auto name = Impl::name;
677
1.85k
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
34
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
58
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
21
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
14
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
16
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
312
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
17
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
28
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
21
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
22
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
40
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
19
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
16
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
459
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
12
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
32
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
28
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
30
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
28
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
26
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
89
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
22
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
27
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
27
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
87
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
10
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
10
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
678
679
0
    String get_name() const override { return name; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE8get_nameB5cxx11Ev
680
681
1.40k
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
3
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
26
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
50
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
300
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
20
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
32
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
11
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
8
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
10
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
451
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
10
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
22
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
20
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
79
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
12
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
19
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
77
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
3
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
1
    bool is_variadic() const override { return true; }
682
0
    size_t get_number_of_arguments() const override { return 0; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE23get_number_of_argumentsEv
683
684
400
    DataTypes get_variadic_argument_types_impl() const override {
685
400
        return Impl::get_variadic_argument_types();
686
400
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
8
    DataTypes get_variadic_argument_types_impl() const override {
685
8
        return Impl::get_variadic_argument_types();
686
8
    }
687
688
1.59k
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
27
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
10
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
10
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
5
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
40
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
7
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
356
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
10
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
8
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
9
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
9
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
9
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
5
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
209
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
19
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
11
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
75
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
15
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
248
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
23
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
5
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
26
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
18
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
20
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
17
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
14
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
31
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
22
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
32
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
18
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
16
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
22
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
19
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
186
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
17
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
16
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
688
13
    bool need_replace_null_data_to_default() const override { return true; }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
689
690
    /// Get result types by argument types. If the function does not apply to these arguments, throw an exception.
691
1.35k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
1.35k
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
1.35k
        return arguments[0];
700
1.35k
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
2
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
2
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
2
        return arguments[0];
700
2
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
25
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
25
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
25
        return arguments[0];
700
25
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
49
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
49
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
49
        return arguments[0];
700
49
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
12
        return arguments[0];
700
12
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
5
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
5
        return arguments[0];
700
5
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
12
        return arguments[0];
700
12
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
3
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
3
        return arguments[0];
700
3
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
299
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
299
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
299
        return arguments[0];
700
299
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
5
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
5
        return arguments[0];
700
5
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
4
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
4
        return arguments[0];
700
4
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
19
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
19
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
19
        return arguments[0];
700
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
12
        return arguments[0];
700
12
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
14
        return arguments[0];
700
14
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
13
        return arguments[0];
700
13
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
31
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
31
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
31
        return arguments[0];
700
31
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
10
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
10
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
10
        return arguments[0];
700
10
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
7
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
7
        return arguments[0];
700
7
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
4
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
4
        return arguments[0];
700
4
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
9
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
9
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
9
        return arguments[0];
700
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
450
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
450
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
450
        return arguments[0];
700
450
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
9
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
9
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
9
        return arguments[0];
700
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
3
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
3
        return arguments[0];
700
3
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
21
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
21
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
21
        return arguments[0];
700
21
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
16
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
16
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
16
        return arguments[0];
700
16
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
19
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
19
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
19
        return arguments[0];
700
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
16
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
16
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
16
        return arguments[0];
700
16
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
13
        return arguments[0];
700
13
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
14
        return arguments[0];
700
14
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
15
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
15
        return arguments[0];
700
15
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
78
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
78
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
78
        return arguments[0];
700
78
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
12
        return arguments[0];
700
12
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
11
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
11
        return arguments[0];
700
11
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
18
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
18
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
18
        return arguments[0];
700
18
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
15
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
15
        return arguments[0];
700
15
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
76
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
76
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
76
        return arguments[0];
700
76
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
13
        return arguments[0];
700
13
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
14
        return arguments[0];
700
14
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
691
2
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
2
        if ((arguments.empty()) || (arguments.size() > 2)) {
693
0
            throw doris::Exception(
694
0
                    ErrorCode::INVALID_ARGUMENT,
695
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
696
0
                    get_name());
697
0
        }
698
699
2
        return arguments[0];
700
2
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
701
702
977
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
977
        const IColumn& scale_column = *arguments.column;
704
705
977
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
977
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
977
                                  .get_element(0);
708
709
977
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
977
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
977
        *scale = scale_arg;
716
977
        return Status::OK();
717
977
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
36
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
36
        const IColumn& scale_column = *arguments.column;
704
705
36
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
36
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
36
                                  .get_element(0);
708
709
36
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
36
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
36
        *scale = scale_arg;
716
36
        return Status::OK();
717
36
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
361
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
361
        const IColumn& scale_column = *arguments.column;
704
705
361
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
361
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
361
                                  .get_element(0);
708
709
361
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
361
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
361
        *scale = scale_arg;
716
361
        return Status::OK();
717
361
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
8
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
8
        const IColumn& scale_column = *arguments.column;
704
705
8
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
8
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
8
                                  .get_element(0);
708
709
8
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
8
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
8
        *scale = scale_arg;
716
8
        return Status::OK();
717
8
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
30
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
30
        const IColumn& scale_column = *arguments.column;
704
705
30
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
30
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
30
                                  .get_element(0);
708
709
30
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
30
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
30
        *scale = scale_arg;
716
30
        return Status::OK();
717
30
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
21
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
21
        const IColumn& scale_column = *arguments.column;
704
705
21
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
21
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
21
                                  .get_element(0);
708
709
21
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
21
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
21
        *scale = scale_arg;
716
21
        return Status::OK();
717
21
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
21
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
21
        const IColumn& scale_column = *arguments.column;
704
705
21
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
21
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
21
                                  .get_element(0);
708
709
21
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
21
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
21
        *scale = scale_arg;
716
21
        return Status::OK();
717
21
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
20
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
20
        const IColumn& scale_column = *arguments.column;
704
705
20
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
20
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
20
                                  .get_element(0);
708
709
20
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
20
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
20
        *scale = scale_arg;
716
20
        return Status::OK();
717
20
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
12
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
12
        const IColumn& scale_column = *arguments.column;
704
705
12
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
12
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
12
                                  .get_element(0);
708
709
12
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
12
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
12
        *scale = scale_arg;
716
12
        return Status::OK();
717
12
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
26
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
26
        const IColumn& scale_column = *arguments.column;
704
705
26
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
26
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
26
                                  .get_element(0);
708
709
26
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
26
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
26
        *scale = scale_arg;
716
26
        return Status::OK();
717
26
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
21
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
21
        const IColumn& scale_column = *arguments.column;
704
705
21
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
21
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
21
                                  .get_element(0);
708
709
21
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
21
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
21
        *scale = scale_arg;
716
21
        return Status::OK();
717
21
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
92
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
92
        const IColumn& scale_column = *arguments.column;
704
705
92
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
92
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
92
                                  .get_element(0);
708
709
92
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
92
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
92
        *scale = scale_arg;
716
92
        return Status::OK();
717
92
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
20
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
20
        const IColumn& scale_column = *arguments.column;
704
705
20
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
20
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
20
                                  .get_element(0);
708
709
20
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
20
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
20
        *scale = scale_arg;
716
20
        return Status::OK();
717
20
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
12
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
12
        const IColumn& scale_column = *arguments.column;
704
705
12
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
12
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
12
                                  .get_element(0);
708
709
12
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
12
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
12
        *scale = scale_arg;
716
12
        return Status::OK();
717
12
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
23
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
23
        const IColumn& scale_column = *arguments.column;
704
705
23
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
23
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
23
                                  .get_element(0);
708
709
23
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
23
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
23
        *scale = scale_arg;
716
23
        return Status::OK();
717
23
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
24
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
24
        const IColumn& scale_column = *arguments.column;
704
705
24
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
24
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
24
                                  .get_element(0);
708
709
24
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
24
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
24
        *scale = scale_arg;
716
24
        return Status::OK();
717
24
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
193
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
193
        const IColumn& scale_column = *arguments.column;
704
705
193
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
193
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
193
                                  .get_element(0);
708
709
193
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
193
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
193
        *scale = scale_arg;
716
193
        return Status::OK();
717
193
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
23
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
23
        const IColumn& scale_column = *arguments.column;
704
705
23
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
23
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
23
                                  .get_element(0);
708
709
23
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
23
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
23
        *scale = scale_arg;
716
23
        return Status::OK();
717
23
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
19
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
19
        const IColumn& scale_column = *arguments.column;
704
705
19
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
19
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
19
                                  .get_element(0);
708
709
19
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
19
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
19
        *scale = scale_arg;
716
19
        return Status::OK();
717
19
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
1
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
1
        const IColumn& scale_column = *arguments.column;
704
705
1
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
1
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
1
                                  .get_element(0);
708
709
1
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
1
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
1
        *scale = scale_arg;
716
1
        return Status::OK();
717
1
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
13
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
13
        const IColumn& scale_column = *arguments.column;
704
705
13
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
13
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
13
                                  .get_element(0);
708
709
13
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
13
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
13
        *scale = scale_arg;
716
13
        return Status::OK();
717
13
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
1
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
1
        const IColumn& scale_column = *arguments.column;
704
705
1
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
1
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
1
                                  .get_element(0);
708
709
1
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
1
            scale_arg < std::numeric_limits<Int16>::min()) {
711
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
712
0
                                           name, scale_arg);
713
0
        }
714
715
1
        *scale = scale_arg;
716
1
        return Status::OK();
717
1
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
718
719
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
720
2.54k
                        uint32_t result, size_t input_rows_count) const override {
721
2.54k
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
2.54k
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
2.54k
        const DataTypePtr result_type = block.get_by_position(result).type;
724
2.54k
        const bool is_col_general_const = is_column_const(*column_general.column);
725
2.54k
        const auto* col_general = is_col_general_const
726
2.54k
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
166
                                                    .get_data_column_ptr()
728
166
                                                    .get()
729
2.54k
                                          : column_general.column.get();
730
2.54k
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
2.54k
        auto call = [&](const auto& types) -> bool {
739
2.54k
            using Types = std::decay_t<decltype(types)>;
740
2.54k
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
2.54k
            Int16 result_scale = 0;
745
2.54k
            if constexpr (IsDataTypeDecimal<DataType>) {
746
1.87k
                if (column_result.type->is_nullable()) {
747
1.12k
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
1.12k
                                column_result.type)) {
749
1.12k
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
1.12k
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
1.12k
                } else {
755
748
                    result_scale = column_result.type->get_scale();
756
748
                }
757
1.87k
            }
758
759
2.54k
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
2.54k
                if (arguments.size() == 1 ||
761
2.54k
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
2.09k
                    Int16 scale_arg = 0;
764
2.09k
                    if (arguments.size() == 2) {
765
977
                        RETURN_IF_ERROR(
766
977
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
977
                    }
768
769
2.09k
                    res = Dispatcher<DataType::PType, rounding_mode,
770
2.09k
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
2.09k
                                                                         result_scale);
772
2.09k
                } else {
773
                    // the SECOND arugment is COLUMN
774
457
                    if (is_col_general_const) {
775
166
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
166
                                apply_const_vec(
777
166
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
166
                                        block.get_by_position(arguments[1]).column.get(),
779
166
                                        result_scale);
780
291
                    } else {
781
291
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
291
                                apply_vec_vec(col_general,
783
291
                                              block.get_by_position(arguments[1]).column.get(),
784
291
                                              result_scale);
785
291
                    }
786
457
                }
787
2.54k
                return true;
788
2.54k
            }
789
790
0
            return false;
791
2.54k
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
2
        auto call = [&](const auto& types) -> bool {
739
2
            using Types = std::decay_t<decltype(types)>;
740
2
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
2
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
2
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
2
                if (arguments.size() == 1 ||
761
2
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
2
                    Int16 scale_arg = 0;
764
2
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
2
                    res = Dispatcher<DataType::PType, rounding_mode,
770
2
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
2
                                                                         result_scale);
772
2
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
2
                return true;
788
2
            }
789
790
0
            return false;
791
2
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
41
        auto call = [&](const auto& types) -> bool {
739
41
            using Types = std::decay_t<decltype(types)>;
740
41
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
41
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
41
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
41
                if (arguments.size() == 1 ||
761
41
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
41
                    Int16 scale_arg = 0;
764
41
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
41
                    res = Dispatcher<DataType::PType, rounding_mode,
770
41
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
41
                                                                         result_scale);
772
41
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
41
                return true;
788
41
            }
789
790
0
            return false;
791
41
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
63
        auto call = [&](const auto& types) -> bool {
739
63
            using Types = std::decay_t<decltype(types)>;
740
63
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
63
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
63
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
63
                if (arguments.size() == 1 ||
761
63
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
63
                    Int16 scale_arg = 0;
764
63
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
63
                    res = Dispatcher<DataType::PType, rounding_mode,
770
63
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
63
                                                                         result_scale);
772
63
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
63
                return true;
788
63
            }
789
790
0
            return false;
791
63
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
24
        auto call = [&](const auto& types) -> bool {
739
24
            using Types = std::decay_t<decltype(types)>;
740
24
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
24
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
24
                if (arguments.size() == 1 ||
761
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
24
                    Int16 scale_arg = 0;
764
24
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
24
                    res = Dispatcher<DataType::PType, rounding_mode,
770
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
24
                                                                         result_scale);
772
24
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
24
                return true;
788
24
            }
789
790
0
            return false;
791
24
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
11
        auto call = [&](const auto& types) -> bool {
739
11
            using Types = std::decay_t<decltype(types)>;
740
11
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
11
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
11
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
11
                if (arguments.size() == 1 ||
761
11
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
11
                    Int16 scale_arg = 0;
764
11
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
11
                    res = Dispatcher<DataType::PType, rounding_mode,
770
11
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
11
                                                                         result_scale);
772
11
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
11
                return true;
788
11
            }
789
790
0
            return false;
791
11
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
Line
Count
Source
738
8
        auto call = [&](const auto& types) -> bool {
739
8
            using Types = std::decay_t<decltype(types)>;
740
8
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
8
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
8
                if (arguments.size() == 1 ||
761
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
8
                } else {
773
                    // the SECOND arugment is COLUMN
774
8
                    if (is_col_general_const) {
775
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
4
                                apply_const_vec(
777
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
4
                                        block.get_by_position(arguments[1]).column.get(),
779
4
                                        result_scale);
780
4
                    } else {
781
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
4
                                apply_vec_vec(col_general,
783
4
                                              block.get_by_position(arguments[1]).column.get(),
784
4
                                              result_scale);
785
4
                    }
786
8
                }
787
8
                return true;
788
8
            }
789
790
0
            return false;
791
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
54
        auto call = [&](const auto& types) -> bool {
739
54
            using Types = std::decay_t<decltype(types)>;
740
54
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
54
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
54
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
54
                if (arguments.size() == 1 ||
761
54
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
36
                    Int16 scale_arg = 0;
764
36
                    if (arguments.size() == 2) {
765
36
                        RETURN_IF_ERROR(
766
36
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
36
                    }
768
769
36
                    res = Dispatcher<DataType::PType, rounding_mode,
770
36
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
36
                                                                         result_scale);
772
36
                } else {
773
                    // the SECOND arugment is COLUMN
774
18
                    if (is_col_general_const) {
775
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
5
                                apply_const_vec(
777
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
5
                                        block.get_by_position(arguments[1]).column.get(),
779
5
                                        result_scale);
780
13
                    } else {
781
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
13
                                apply_vec_vec(col_general,
783
13
                                              block.get_by_position(arguments[1]).column.get(),
784
13
                                              result_scale);
785
13
                    }
786
18
                }
787
54
                return true;
788
54
            }
789
790
0
            return false;
791
54
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
Line
Count
Source
738
8
        auto call = [&](const auto& types) -> bool {
739
8
            using Types = std::decay_t<decltype(types)>;
740
8
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
8
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
8
                if (arguments.size() == 1 ||
761
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
8
                } else {
773
                    // the SECOND arugment is COLUMN
774
8
                    if (is_col_general_const) {
775
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
4
                                apply_const_vec(
777
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
4
                                        block.get_by_position(arguments[1]).column.get(),
779
4
                                        result_scale);
780
4
                    } else {
781
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
4
                                apply_vec_vec(col_general,
783
4
                                              block.get_by_position(arguments[1]).column.get(),
784
4
                                              result_scale);
785
4
                    }
786
8
                }
787
8
                return true;
788
8
            }
789
790
0
            return false;
791
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
17
        auto call = [&](const auto& types) -> bool {
739
17
            using Types = std::decay_t<decltype(types)>;
740
17
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
17
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
17
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
17
                if (arguments.size() == 1 ||
761
17
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
17
                } else {
773
                    // the SECOND arugment is COLUMN
774
17
                    if (is_col_general_const) {
775
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
5
                                apply_const_vec(
777
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
5
                                        block.get_by_position(arguments[1]).column.get(),
779
5
                                        result_scale);
780
12
                    } else {
781
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
12
                                apply_vec_vec(col_general,
783
12
                                              block.get_by_position(arguments[1]).column.get(),
784
12
                                              result_scale);
785
12
                    }
786
17
                }
787
17
                return true;
788
17
            }
789
790
0
            return false;
791
17
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
Line
Count
Source
738
10
        auto call = [&](const auto& types) -> bool {
739
10
            using Types = std::decay_t<decltype(types)>;
740
10
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
10
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
10
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
10
                if (arguments.size() == 1 ||
761
10
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
10
                } else {
773
                    // the SECOND arugment is COLUMN
774
10
                    if (is_col_general_const) {
775
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
5
                                apply_const_vec(
777
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
5
                                        block.get_by_position(arguments[1]).column.get(),
779
5
                                        result_scale);
780
5
                    } else {
781
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
5
                                apply_vec_vec(col_general,
783
5
                                              block.get_by_position(arguments[1]).column.get(),
784
5
                                              result_scale);
785
5
                    }
786
10
                }
787
10
                return true;
788
10
            }
789
790
0
            return false;
791
10
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
377
        auto call = [&](const auto& types) -> bool {
739
377
            using Types = std::decay_t<decltype(types)>;
740
377
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
377
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
377
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
377
                if (arguments.size() == 1 ||
761
377
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
361
                    Int16 scale_arg = 0;
764
361
                    if (arguments.size() == 2) {
765
361
                        RETURN_IF_ERROR(
766
361
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
361
                    }
768
769
361
                    res = Dispatcher<DataType::PType, rounding_mode,
770
361
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
361
                                                                         result_scale);
772
361
                } else {
773
                    // the SECOND arugment is COLUMN
774
16
                    if (is_col_general_const) {
775
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
6
                                apply_const_vec(
777
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
6
                                        block.get_by_position(arguments[1]).column.get(),
779
6
                                        result_scale);
780
10
                    } else {
781
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
10
                                apply_vec_vec(col_general,
783
10
                                              block.get_by_position(arguments[1]).column.get(),
784
10
                                              result_scale);
785
10
                    }
786
16
                }
787
377
                return true;
788
377
            }
789
790
0
            return false;
791
377
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
Line
Count
Source
738
8
        auto call = [&](const auto& types) -> bool {
739
8
            using Types = std::decay_t<decltype(types)>;
740
8
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
8
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
8
                if (arguments.size() == 1 ||
761
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
8
                } else {
773
                    // the SECOND arugment is COLUMN
774
8
                    if (is_col_general_const) {
775
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
4
                                apply_const_vec(
777
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
4
                                        block.get_by_position(arguments[1]).column.get(),
779
4
                                        result_scale);
780
4
                    } else {
781
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
4
                                apply_vec_vec(col_general,
783
4
                                              block.get_by_position(arguments[1]).column.get(),
784
4
                                              result_scale);
785
4
                    }
786
8
                }
787
8
                return true;
788
8
            }
789
790
0
            return false;
791
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
20
        auto call = [&](const auto& types) -> bool {
739
20
            using Types = std::decay_t<decltype(types)>;
740
20
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
20
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
20
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
20
                if (arguments.size() == 1 ||
761
20
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
20
                } else {
773
                    // the SECOND arugment is COLUMN
774
20
                    if (is_col_general_const) {
775
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
5
                                apply_const_vec(
777
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
5
                                        block.get_by_position(arguments[1]).column.get(),
779
5
                                        result_scale);
780
15
                    } else {
781
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
15
                                apply_vec_vec(col_general,
783
15
                                              block.get_by_position(arguments[1]).column.get(),
784
15
                                              result_scale);
785
15
                    }
786
20
                }
787
20
                return true;
788
20
            }
789
790
0
            return false;
791
20
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_
Line
Count
Source
738
10
        auto call = [&](const auto& types) -> bool {
739
10
            using Types = std::decay_t<decltype(types)>;
740
10
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
10
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
10
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
10
                if (arguments.size() == 1 ||
761
10
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
0
                    Int16 scale_arg = 0;
764
0
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
0
                    res = Dispatcher<DataType::PType, rounding_mode,
770
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
0
                                                                         result_scale);
772
10
                } else {
773
                    // the SECOND arugment is COLUMN
774
10
                    if (is_col_general_const) {
775
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
5
                                apply_const_vec(
777
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
5
                                        block.get_by_position(arguments[1]).column.get(),
779
5
                                        result_scale);
780
5
                    } else {
781
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
5
                                apply_vec_vec(col_general,
783
5
                                              block.get_by_position(arguments[1]).column.get(),
784
5
                                              result_scale);
785
5
                    }
786
10
                }
787
10
                return true;
788
10
            }
789
790
0
            return false;
791
10
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
24
        auto call = [&](const auto& types) -> bool {
739
24
            using Types = std::decay_t<decltype(types)>;
740
24
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
24
            Int16 result_scale = 0;
745
            if constexpr (IsDataTypeDecimal<DataType>) {
746
                if (column_result.type->is_nullable()) {
747
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
                                column_result.type)) {
749
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
                    } else {
751
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
                                               "Illegal nullable column");
753
                    }
754
                } else {
755
                    result_scale = column_result.type->get_scale();
756
                }
757
            }
758
759
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
24
                if (arguments.size() == 1 ||
761
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
8
                    Int16 scale_arg = 0;
764
8
                    if (arguments.size() == 2) {
765
8
                        RETURN_IF_ERROR(
766
8
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
8
                    }
768
769
8
                    res = Dispatcher<DataType::PType, rounding_mode,
770
8
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
8
                                                                         result_scale);
772
16
                } else {
773
                    // the SECOND arugment is COLUMN
774
16
                    if (is_col_general_const) {
775
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
6
                                apply_const_vec(
777
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
6
                                        block.get_by_position(arguments[1]).column.get(),
779
6
                                        result_scale);
780
10
                    } else {
781
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
10
                                apply_vec_vec(col_general,
783
10
                                              block.get_by_position(arguments[1]).column.get(),
784
10
                                              result_scale);
785
10
                    }
786
16
                }
787
24
                return true;
788
24
            }
789
790
0
            return false;
791
24
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
29
        auto call = [&](const auto& types) -> bool {
739
29
            using Types = std::decay_t<decltype(types)>;
740
29
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
29
            Int16 result_scale = 0;
745
29
            if constexpr (IsDataTypeDecimal<DataType>) {
746
29
                if (column_result.type->is_nullable()) {
747
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
9
                                column_result.type)) {
749
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
9
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
20
                } else {
755
20
                    result_scale = column_result.type->get_scale();
756
20
                }
757
29
            }
758
759
29
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
29
                if (arguments.size() == 1 ||
761
29
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
29
                    Int16 scale_arg = 0;
764
29
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
29
                    res = Dispatcher<DataType::PType, rounding_mode,
770
29
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
29
                                                                         result_scale);
772
29
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
29
                return true;
788
29
            }
789
790
0
            return false;
791
29
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
23
        auto call = [&](const auto& types) -> bool {
739
23
            using Types = std::decay_t<decltype(types)>;
740
23
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
23
            Int16 result_scale = 0;
745
23
            if constexpr (IsDataTypeDecimal<DataType>) {
746
23
                if (column_result.type->is_nullable()) {
747
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
9
                                column_result.type)) {
749
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
9
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
14
                } else {
755
14
                    result_scale = column_result.type->get_scale();
756
14
                }
757
23
            }
758
759
23
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
23
                if (arguments.size() == 1 ||
761
23
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
23
                    Int16 scale_arg = 0;
764
23
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
23
                    res = Dispatcher<DataType::PType, rounding_mode,
770
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
23
                                                                         result_scale);
772
23
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
23
                return true;
788
23
            }
789
790
0
            return false;
791
23
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
25
        auto call = [&](const auto& types) -> bool {
739
25
            using Types = std::decay_t<decltype(types)>;
740
25
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
25
            Int16 result_scale = 0;
745
25
            if constexpr (IsDataTypeDecimal<DataType>) {
746
25
                if (column_result.type->is_nullable()) {
747
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
9
                                column_result.type)) {
749
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
9
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
16
                } else {
755
16
                    result_scale = column_result.type->get_scale();
756
16
                }
757
25
            }
758
759
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
25
                if (arguments.size() == 1 ||
761
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
25
                    Int16 scale_arg = 0;
764
25
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
25
                    res = Dispatcher<DataType::PType, rounding_mode,
770
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
25
                                                                         result_scale);
772
25
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
25
                return true;
788
25
            }
789
790
0
            return false;
791
25
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
19
        auto call = [&](const auto& types) -> bool {
739
19
            using Types = std::decay_t<decltype(types)>;
740
19
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
19
            Int16 result_scale = 0;
745
19
            if constexpr (IsDataTypeDecimal<DataType>) {
746
19
                if (column_result.type->is_nullable()) {
747
5
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
5
                                column_result.type)) {
749
5
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
5
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
14
                } else {
755
14
                    result_scale = column_result.type->get_scale();
756
14
                }
757
19
            }
758
759
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
19
                if (arguments.size() == 1 ||
761
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
19
                    Int16 scale_arg = 0;
764
19
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
19
                    res = Dispatcher<DataType::PType, rounding_mode,
770
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
19
                                                                         result_scale);
772
19
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
19
                return true;
788
19
            }
789
790
0
            return false;
791
19
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
217
        auto call = [&](const auto& types) -> bool {
739
217
            using Types = std::decay_t<decltype(types)>;
740
217
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
217
            Int16 result_scale = 0;
745
217
            if constexpr (IsDataTypeDecimal<DataType>) {
746
217
                if (column_result.type->is_nullable()) {
747
209
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
209
                                column_result.type)) {
749
209
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
209
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
209
                } else {
755
8
                    result_scale = column_result.type->get_scale();
756
8
                }
757
217
            }
758
759
217
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
217
                if (arguments.size() == 1 ||
761
217
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
217
                    Int16 scale_arg = 0;
764
217
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
217
                    res = Dispatcher<DataType::PType, rounding_mode,
770
217
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
217
                                                                         result_scale);
772
217
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
217
                return true;
788
217
            }
789
790
0
            return false;
791
217
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
27
        auto call = [&](const auto& types) -> bool {
739
27
            using Types = std::decay_t<decltype(types)>;
740
27
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
27
            Int16 result_scale = 0;
745
27
            if constexpr (IsDataTypeDecimal<DataType>) {
746
27
                if (column_result.type->is_nullable()) {
747
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
19
                                column_result.type)) {
749
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
19
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
19
                } else {
755
8
                    result_scale = column_result.type->get_scale();
756
8
                }
757
27
            }
758
759
27
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
27
                if (arguments.size() == 1 ||
761
27
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
27
                    Int16 scale_arg = 0;
764
27
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
27
                    res = Dispatcher<DataType::PType, rounding_mode,
770
27
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
27
                                                                         result_scale);
772
27
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
27
                return true;
788
27
            }
789
790
0
            return false;
791
27
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
19
        auto call = [&](const auto& types) -> bool {
739
19
            using Types = std::decay_t<decltype(types)>;
740
19
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
19
            Int16 result_scale = 0;
745
19
            if constexpr (IsDataTypeDecimal<DataType>) {
746
19
                if (column_result.type->is_nullable()) {
747
11
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
11
                                column_result.type)) {
749
11
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
11
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
11
                } else {
755
8
                    result_scale = column_result.type->get_scale();
756
8
                }
757
19
            }
758
759
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
19
                if (arguments.size() == 1 ||
761
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
19
                    Int16 scale_arg = 0;
764
19
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
19
                    res = Dispatcher<DataType::PType, rounding_mode,
770
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
19
                                                                         result_scale);
772
19
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
19
                return true;
788
19
            }
789
790
0
            return false;
791
19
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
79
        auto call = [&](const auto& types) -> bool {
739
79
            using Types = std::decay_t<decltype(types)>;
740
79
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
79
            Int16 result_scale = 0;
745
79
            if constexpr (IsDataTypeDecimal<DataType>) {
746
79
                if (column_result.type->is_nullable()) {
747
75
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
75
                                column_result.type)) {
749
75
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
75
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
75
                } else {
755
4
                    result_scale = column_result.type->get_scale();
756
4
                }
757
79
            }
758
759
79
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
79
                if (arguments.size() == 1 ||
761
79
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
79
                    Int16 scale_arg = 0;
764
79
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
79
                    res = Dispatcher<DataType::PType, rounding_mode,
770
79
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
79
                                                                         result_scale);
772
79
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
79
                return true;
788
79
            }
789
790
0
            return false;
791
79
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
25
        auto call = [&](const auto& types) -> bool {
739
25
            using Types = std::decay_t<decltype(types)>;
740
25
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
25
            Int16 result_scale = 0;
745
25
            if constexpr (IsDataTypeDecimal<DataType>) {
746
25
                if (column_result.type->is_nullable()) {
747
15
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
15
                                column_result.type)) {
749
15
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
15
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
15
                } else {
755
10
                    result_scale = column_result.type->get_scale();
756
10
                }
757
25
            }
758
759
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
25
                if (arguments.size() == 1 ||
761
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
25
                    Int16 scale_arg = 0;
764
25
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
25
                    res = Dispatcher<DataType::PType, rounding_mode,
770
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
25
                                                                         result_scale);
772
25
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
25
                return true;
788
25
            }
789
790
0
            return false;
791
25
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
470
        auto call = [&](const auto& types) -> bool {
739
470
            using Types = std::decay_t<decltype(types)>;
740
470
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
470
            Int16 result_scale = 0;
745
470
            if constexpr (IsDataTypeDecimal<DataType>) {
746
470
                if (column_result.type->is_nullable()) {
747
248
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
248
                                column_result.type)) {
749
248
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
248
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
248
                } else {
755
222
                    result_scale = column_result.type->get_scale();
756
222
                }
757
470
            }
758
759
470
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
470
                if (arguments.size() == 1 ||
761
471
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
471
                    Int16 scale_arg = 0;
764
471
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
471
                    res = Dispatcher<DataType::PType, rounding_mode,
770
471
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
471
                                                                         result_scale);
772
18.4E
                } else {
773
                    // the SECOND arugment is COLUMN
774
18.4E
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
18.4E
                    } else {
781
18.4E
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
18.4E
                                apply_vec_vec(col_general,
783
18.4E
                                              block.get_by_position(arguments[1]).column.get(),
784
18.4E
                                              result_scale);
785
18.4E
                    }
786
18.4E
                }
787
470
                return true;
788
470
            }
789
790
0
            return false;
791
470
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
31
        auto call = [&](const auto& types) -> bool {
739
31
            using Types = std::decay_t<decltype(types)>;
740
31
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
31
            Int16 result_scale = 0;
745
31
            if constexpr (IsDataTypeDecimal<DataType>) {
746
31
                if (column_result.type->is_nullable()) {
747
23
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
23
                                column_result.type)) {
749
23
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
23
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
23
                } else {
755
8
                    result_scale = column_result.type->get_scale();
756
8
                }
757
31
            }
758
759
31
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
31
                if (arguments.size() == 1 ||
761
31
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
31
                    Int16 scale_arg = 0;
764
31
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
31
                    res = Dispatcher<DataType::PType, rounding_mode,
770
31
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
31
                                                                         result_scale);
772
31
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
31
                return true;
788
31
            }
789
790
0
            return false;
791
31
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
9
        auto call = [&](const auto& types) -> bool {
739
9
            using Types = std::decay_t<decltype(types)>;
740
9
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
9
            Int16 result_scale = 0;
745
9
            if constexpr (IsDataTypeDecimal<DataType>) {
746
9
                if (column_result.type->is_nullable()) {
747
5
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
5
                                column_result.type)) {
749
5
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
5
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
5
                } else {
755
4
                    result_scale = column_result.type->get_scale();
756
4
                }
757
9
            }
758
759
9
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
9
                if (arguments.size() == 1 ||
761
9
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
9
                    Int16 scale_arg = 0;
764
9
                    if (arguments.size() == 2) {
765
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
768
769
9
                    res = Dispatcher<DataType::PType, rounding_mode,
770
9
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
9
                                                                         result_scale);
772
9
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
9
                return true;
788
9
            }
789
790
0
            return false;
791
9
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
69
        auto call = [&](const auto& types) -> bool {
739
69
            using Types = std::decay_t<decltype(types)>;
740
69
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
69
            Int16 result_scale = 0;
745
69
            if constexpr (IsDataTypeDecimal<DataType>) {
746
69
                if (column_result.type->is_nullable()) {
747
26
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
26
                                column_result.type)) {
749
26
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
26
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
43
                } else {
755
43
                    result_scale = column_result.type->get_scale();
756
43
                }
757
69
            }
758
759
69
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
69
                if (arguments.size() == 1 ||
761
69
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
30
                    Int16 scale_arg = 0;
764
30
                    if (arguments.size() == 2) {
765
30
                        RETURN_IF_ERROR(
766
30
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
30
                    }
768
769
30
                    res = Dispatcher<DataType::PType, rounding_mode,
770
30
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
30
                                                                         result_scale);
772
39
                } else {
773
                    // the SECOND arugment is COLUMN
774
39
                    if (is_col_general_const) {
775
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
15
                                apply_const_vec(
777
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
15
                                        block.get_by_position(arguments[1]).column.get(),
779
15
                                        result_scale);
780
24
                    } else {
781
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
24
                                apply_vec_vec(col_general,
783
24
                                              block.get_by_position(arguments[1]).column.get(),
784
24
                                              result_scale);
785
24
                    }
786
39
                }
787
69
                return true;
788
69
            }
789
790
0
            return false;
791
69
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
18
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
18
                                column_result.type)) {
749
18
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
18
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
44
                } else {
755
44
                    result_scale = column_result.type->get_scale();
756
44
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
21
                    Int16 scale_arg = 0;
764
21
                    if (arguments.size() == 2) {
765
21
                        RETURN_IF_ERROR(
766
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
21
                    }
768
769
21
                    res = Dispatcher<DataType::PType, rounding_mode,
770
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
21
                                                                         result_scale);
772
41
                } else {
773
                    // the SECOND arugment is COLUMN
774
41
                    if (is_col_general_const) {
775
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
15
                                apply_const_vec(
777
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
15
                                        block.get_by_position(arguments[1]).column.get(),
779
15
                                        result_scale);
780
26
                    } else {
781
26
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
26
                                apply_vec_vec(col_general,
783
26
                                              block.get_by_position(arguments[1]).column.get(),
784
26
                                              result_scale);
785
26
                    }
786
41
                }
787
62
                return true;
788
62
            }
789
790
0
            return false;
791
62
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
20
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
20
                                column_result.type)) {
749
20
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
20
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
42
                } else {
755
42
                    result_scale = column_result.type->get_scale();
756
42
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
21
                    Int16 scale_arg = 0;
764
21
                    if (arguments.size() == 2) {
765
21
                        RETURN_IF_ERROR(
766
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
21
                    }
768
769
21
                    res = Dispatcher<DataType::PType, rounding_mode,
770
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
21
                                                                         result_scale);
772
41
                } else {
773
                    // the SECOND arugment is COLUMN
774
41
                    if (is_col_general_const) {
775
16
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
16
                                apply_const_vec(
777
16
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
16
                                        block.get_by_position(arguments[1]).column.get(),
779
16
                                        result_scale);
780
25
                    } else {
781
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
25
                                apply_vec_vec(col_general,
783
25
                                              block.get_by_position(arguments[1]).column.get(),
784
25
                                              result_scale);
785
25
                    }
786
41
                }
787
62
                return true;
788
62
            }
789
790
0
            return false;
791
62
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
17
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
17
                                column_result.type)) {
749
17
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
17
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
45
                } else {
755
45
                    result_scale = column_result.type->get_scale();
756
45
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
20
                    Int16 scale_arg = 0;
764
20
                    if (arguments.size() == 2) {
765
20
                        RETURN_IF_ERROR(
766
20
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
20
                    }
768
769
20
                    res = Dispatcher<DataType::PType, rounding_mode,
770
20
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
20
                                                                         result_scale);
772
42
                } else {
773
                    // the SECOND arugment is COLUMN
774
42
                    if (is_col_general_const) {
775
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
15
                                apply_const_vec(
777
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
15
                                        block.get_by_position(arguments[1]).column.get(),
779
15
                                        result_scale);
780
27
                    } else {
781
27
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
27
                                apply_vec_vec(col_general,
783
27
                                              block.get_by_position(arguments[1]).column.get(),
784
27
                                              result_scale);
785
27
                    }
786
42
                }
787
62
                return true;
788
62
            }
789
790
0
            return false;
791
62
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Line
Count
Source
738
52
        auto call = [&](const auto& types) -> bool {
739
52
            using Types = std::decay_t<decltype(types)>;
740
52
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
52
            Int16 result_scale = 0;
745
52
            if constexpr (IsDataTypeDecimal<DataType>) {
746
52
                if (column_result.type->is_nullable()) {
747
14
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
14
                                column_result.type)) {
749
14
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
14
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
38
                } else {
755
38
                    result_scale = column_result.type->get_scale();
756
38
                }
757
52
            }
758
759
52
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
52
                if (arguments.size() == 1 ||
761
52
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
12
                    Int16 scale_arg = 0;
764
12
                    if (arguments.size() == 2) {
765
12
                        RETURN_IF_ERROR(
766
12
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
12
                    }
768
769
12
                    res = Dispatcher<DataType::PType, rounding_mode,
770
12
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
12
                                                                         result_scale);
772
40
                } else {
773
                    // the SECOND arugment is COLUMN
774
40
                    if (is_col_general_const) {
775
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
15
                                apply_const_vec(
777
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
15
                                        block.get_by_position(arguments[1]).column.get(),
779
15
                                        result_scale);
780
25
                    } else {
781
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
25
                                apply_vec_vec(col_general,
783
25
                                              block.get_by_position(arguments[1]).column.get(),
784
25
                                              result_scale);
785
25
                    }
786
40
                }
787
52
                return true;
788
52
            }
789
790
0
            return false;
791
52
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
48
        auto call = [&](const auto& types) -> bool {
739
48
            using Types = std::decay_t<decltype(types)>;
740
48
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
48
            Int16 result_scale = 0;
745
48
            if constexpr (IsDataTypeDecimal<DataType>) {
746
48
                if (column_result.type->is_nullable()) {
747
31
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
31
                                column_result.type)) {
749
31
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
31
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
31
                } else {
755
17
                    result_scale = column_result.type->get_scale();
756
17
                }
757
48
            }
758
759
48
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
48
                if (arguments.size() == 1 ||
761
48
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
26
                    Int16 scale_arg = 0;
764
26
                    if (arguments.size() == 2) {
765
26
                        RETURN_IF_ERROR(
766
26
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
26
                    }
768
769
26
                    res = Dispatcher<DataType::PType, rounding_mode,
770
26
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
26
                                                                         result_scale);
772
26
                } else {
773
                    // the SECOND arugment is COLUMN
774
22
                    if (is_col_general_const) {
775
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
14
                                apply_const_vec(
777
14
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
14
                                        block.get_by_position(arguments[1]).column.get(),
779
14
                                        result_scale);
780
14
                    } else {
781
8
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
8
                                apply_vec_vec(col_general,
783
8
                                              block.get_by_position(arguments[1]).column.get(),
784
8
                                              result_scale);
785
8
                    }
786
22
                }
787
48
                return true;
788
48
            }
789
790
0
            return false;
791
48
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
42
        auto call = [&](const auto& types) -> bool {
739
42
            using Types = std::decay_t<decltype(types)>;
740
42
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
42
            Int16 result_scale = 0;
745
42
            if constexpr (IsDataTypeDecimal<DataType>) {
746
42
                if (column_result.type->is_nullable()) {
747
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
22
                                column_result.type)) {
749
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
22
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
22
                } else {
755
20
                    result_scale = column_result.type->get_scale();
756
20
                }
757
42
            }
758
759
42
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
42
                if (arguments.size() == 1 ||
761
42
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
21
                    Int16 scale_arg = 0;
764
21
                    if (arguments.size() == 2) {
765
21
                        RETURN_IF_ERROR(
766
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
21
                    }
768
769
21
                    res = Dispatcher<DataType::PType, rounding_mode,
770
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
21
                                                                         result_scale);
772
21
                } else {
773
                    // the SECOND arugment is COLUMN
774
21
                    if (is_col_general_const) {
775
7
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
7
                                apply_const_vec(
777
7
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
7
                                        block.get_by_position(arguments[1]).column.get(),
779
7
                                        result_scale);
780
14
                    } else {
781
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
14
                                apply_vec_vec(col_general,
783
14
                                              block.get_by_position(arguments[1]).column.get(),
784
14
                                              result_scale);
785
14
                    }
786
21
                }
787
42
                return true;
788
42
            }
789
790
0
            return false;
791
42
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
112
        auto call = [&](const auto& types) -> bool {
739
112
            using Types = std::decay_t<decltype(types)>;
740
112
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
112
            Int16 result_scale = 0;
745
112
            if constexpr (IsDataTypeDecimal<DataType>) {
746
112
                if (column_result.type->is_nullable()) {
747
32
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
32
                                column_result.type)) {
749
32
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
32
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
80
                } else {
755
80
                    result_scale = column_result.type->get_scale();
756
80
                }
757
112
            }
758
759
112
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
112
                if (arguments.size() == 1 ||
761
112
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
92
                    Int16 scale_arg = 0;
764
92
                    if (arguments.size() == 2) {
765
92
                        RETURN_IF_ERROR(
766
92
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
92
                    }
768
769
92
                    res = Dispatcher<DataType::PType, rounding_mode,
770
92
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
92
                                                                         result_scale);
772
92
                } else {
773
                    // the SECOND arugment is COLUMN
774
20
                    if (is_col_general_const) {
775
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
6
                                apply_const_vec(
777
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
6
                                        block.get_by_position(arguments[1]).column.get(),
779
6
                                        result_scale);
780
14
                    } else {
781
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
14
                                apply_vec_vec(col_general,
783
14
                                              block.get_by_position(arguments[1]).column.get(),
784
14
                                              result_scale);
785
14
                    }
786
20
                }
787
112
                return true;
788
112
            }
789
790
0
            return false;
791
112
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
39
        auto call = [&](const auto& types) -> bool {
739
39
            using Types = std::decay_t<decltype(types)>;
740
39
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
39
            Int16 result_scale = 0;
745
39
            if constexpr (IsDataTypeDecimal<DataType>) {
746
39
                if (column_result.type->is_nullable()) {
747
18
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
18
                                column_result.type)) {
749
18
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
18
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
21
                } else {
755
21
                    result_scale = column_result.type->get_scale();
756
21
                }
757
39
            }
758
759
39
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
39
                if (arguments.size() == 1 ||
761
39
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
20
                    Int16 scale_arg = 0;
764
20
                    if (arguments.size() == 2) {
765
20
                        RETURN_IF_ERROR(
766
20
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
20
                    }
768
769
20
                    res = Dispatcher<DataType::PType, rounding_mode,
770
20
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
20
                                                                         result_scale);
772
20
                } else {
773
                    // the SECOND arugment is COLUMN
774
19
                    if (is_col_general_const) {
775
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
6
                                apply_const_vec(
777
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
6
                                        block.get_by_position(arguments[1]).column.get(),
779
6
                                        result_scale);
780
13
                    } else {
781
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
13
                                apply_vec_vec(col_general,
783
13
                                              block.get_by_position(arguments[1]).column.get(),
784
13
                                              result_scale);
785
13
                    }
786
19
                }
787
39
                return true;
788
39
            }
789
790
0
            return false;
791
39
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Line
Count
Source
738
32
        auto call = [&](const auto& types) -> bool {
739
32
            using Types = std::decay_t<decltype(types)>;
740
32
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
32
            Int16 result_scale = 0;
745
32
            if constexpr (IsDataTypeDecimal<DataType>) {
746
32
                if (column_result.type->is_nullable()) {
747
16
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
16
                                column_result.type)) {
749
16
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
16
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
16
                } else {
755
16
                    result_scale = column_result.type->get_scale();
756
16
                }
757
32
            }
758
759
32
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
32
                if (arguments.size() == 1 ||
761
32
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
12
                    Int16 scale_arg = 0;
764
12
                    if (arguments.size() == 2) {
765
12
                        RETURN_IF_ERROR(
766
12
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
12
                    }
768
769
12
                    res = Dispatcher<DataType::PType, rounding_mode,
770
12
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
12
                                                                         result_scale);
772
20
                } else {
773
                    // the SECOND arugment is COLUMN
774
20
                    if (is_col_general_const) {
775
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
6
                                apply_const_vec(
777
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
6
                                        block.get_by_position(arguments[1]).column.get(),
779
6
                                        result_scale);
780
14
                    } else {
781
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
14
                                apply_vec_vec(col_general,
783
14
                                              block.get_by_position(arguments[1]).column.get(),
784
14
                                              result_scale);
785
14
                    }
786
20
                }
787
32
                return true;
788
32
            }
789
790
0
            return false;
791
32
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
26
        auto call = [&](const auto& types) -> bool {
739
26
            using Types = std::decay_t<decltype(types)>;
740
26
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
26
            Int16 result_scale = 0;
745
26
            if constexpr (IsDataTypeDecimal<DataType>) {
746
26
                if (column_result.type->is_nullable()) {
747
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
22
                                column_result.type)) {
749
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
22
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
22
                } else {
755
4
                    result_scale = column_result.type->get_scale();
756
4
                }
757
26
            }
758
759
26
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
26
                if (arguments.size() == 1 ||
761
26
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
23
                    Int16 scale_arg = 0;
764
23
                    if (arguments.size() == 2) {
765
23
                        RETURN_IF_ERROR(
766
23
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
23
                    }
768
769
23
                    res = Dispatcher<DataType::PType, rounding_mode,
770
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
23
                                                                         result_scale);
772
23
                } else {
773
                    // the SECOND arugment is COLUMN
774
3
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
3
                    } else {
781
3
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
3
                                apply_vec_vec(col_general,
783
3
                                              block.get_by_position(arguments[1]).column.get(),
784
3
                                              result_scale);
785
3
                    }
786
3
                }
787
26
                return true;
788
26
            }
789
790
0
            return false;
791
26
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
30
        auto call = [&](const auto& types) -> bool {
739
30
            using Types = std::decay_t<decltype(types)>;
740
30
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
30
            Int16 result_scale = 0;
745
30
            if constexpr (IsDataTypeDecimal<DataType>) {
746
30
                if (column_result.type->is_nullable()) {
747
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
19
                                column_result.type)) {
749
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
19
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
19
                } else {
755
11
                    result_scale = column_result.type->get_scale();
756
11
                }
757
30
            }
758
759
30
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
30
                if (arguments.size() == 1 ||
761
30
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
24
                    Int16 scale_arg = 0;
764
24
                    if (arguments.size() == 2) {
765
24
                        RETURN_IF_ERROR(
766
24
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
24
                    }
768
769
24
                    res = Dispatcher<DataType::PType, rounding_mode,
770
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
24
                                                                         result_scale);
772
24
                } else {
773
                    // the SECOND arugment is COLUMN
774
6
                    if (is_col_general_const) {
775
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
1
                                apply_const_vec(
777
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
1
                                        block.get_by_position(arguments[1]).column.get(),
779
1
                                        result_scale);
780
5
                    } else {
781
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
5
                                apply_vec_vec(col_general,
783
5
                                              block.get_by_position(arguments[1]).column.get(),
784
5
                                              result_scale);
785
5
                    }
786
6
                }
787
30
                return true;
788
30
            }
789
790
0
            return false;
791
30
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
198
        auto call = [&](const auto& types) -> bool {
739
198
            using Types = std::decay_t<decltype(types)>;
740
198
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
198
            Int16 result_scale = 0;
745
198
            if constexpr (IsDataTypeDecimal<DataType>) {
746
198
                if (column_result.type->is_nullable()) {
747
186
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
186
                                column_result.type)) {
749
186
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
186
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
186
                } else {
755
12
                    result_scale = column_result.type->get_scale();
756
12
                }
757
198
            }
758
759
198
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
198
                if (arguments.size() == 1 ||
761
198
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
193
                    Int16 scale_arg = 0;
764
193
                    if (arguments.size() == 2) {
765
193
                        RETURN_IF_ERROR(
766
193
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
193
                    }
768
769
193
                    res = Dispatcher<DataType::PType, rounding_mode,
770
193
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
193
                                                                         result_scale);
772
193
                } else {
773
                    // the SECOND arugment is COLUMN
774
5
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
5
                    } else {
781
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
5
                                apply_vec_vec(col_general,
783
5
                                              block.get_by_position(arguments[1]).column.get(),
784
5
                                              result_scale);
785
5
                    }
786
5
                }
787
198
                return true;
788
198
            }
789
790
0
            return false;
791
198
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
28
        auto call = [&](const auto& types) -> bool {
739
28
            using Types = std::decay_t<decltype(types)>;
740
28
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
28
            Int16 result_scale = 0;
745
28
            if constexpr (IsDataTypeDecimal<DataType>) {
746
28
                if (column_result.type->is_nullable()) {
747
17
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
17
                                column_result.type)) {
749
17
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
17
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
17
                } else {
755
11
                    result_scale = column_result.type->get_scale();
756
11
                }
757
28
            }
758
759
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
28
                if (arguments.size() == 1 ||
761
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
23
                    Int16 scale_arg = 0;
764
23
                    if (arguments.size() == 2) {
765
23
                        RETURN_IF_ERROR(
766
23
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
23
                    }
768
769
23
                    res = Dispatcher<DataType::PType, rounding_mode,
770
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
23
                                                                         result_scale);
772
23
                } else {
773
                    // the SECOND arugment is COLUMN
774
5
                    if (is_col_general_const) {
775
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
1
                                apply_const_vec(
777
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
1
                                        block.get_by_position(arguments[1]).column.get(),
779
1
                                        result_scale);
780
4
                    } else {
781
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
4
                                apply_vec_vec(col_general,
783
4
                                              block.get_by_position(arguments[1]).column.get(),
784
4
                                              result_scale);
785
4
                    }
786
5
                }
787
28
                return true;
788
28
            }
789
790
0
            return false;
791
28
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Line
Count
Source
738
22
        auto call = [&](const auto& types) -> bool {
739
22
            using Types = std::decay_t<decltype(types)>;
740
22
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
22
            Int16 result_scale = 0;
745
22
            if constexpr (IsDataTypeDecimal<DataType>) {
746
22
                if (column_result.type->is_nullable()) {
747
16
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
16
                                column_result.type)) {
749
16
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
16
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
16
                } else {
755
6
                    result_scale = column_result.type->get_scale();
756
6
                }
757
22
            }
758
759
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
22
                if (arguments.size() == 1 ||
761
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
19
                    Int16 scale_arg = 0;
764
19
                    if (arguments.size() == 2) {
765
19
                        RETURN_IF_ERROR(
766
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
19
                    }
768
769
19
                    res = Dispatcher<DataType::PType, rounding_mode,
770
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
19
                                                                         result_scale);
772
19
                } else {
773
                    // the SECOND arugment is COLUMN
774
3
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
3
                    } else {
781
3
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
3
                                apply_vec_vec(col_general,
783
3
                                              block.get_by_position(arguments[1]).column.get(),
784
3
                                              result_scale);
785
3
                    }
786
3
                }
787
22
                return true;
788
22
            }
789
790
0
            return false;
791
22
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Line
Count
Source
738
1
        auto call = [&](const auto& types) -> bool {
739
1
            using Types = std::decay_t<decltype(types)>;
740
1
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
1
            Int16 result_scale = 0;
745
1
            if constexpr (IsDataTypeDecimal<DataType>) {
746
1
                if (column_result.type->is_nullable()) {
747
0
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
0
                                column_result.type)) {
749
0
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
0
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
1
                } else {
755
1
                    result_scale = column_result.type->get_scale();
756
1
                }
757
1
            }
758
759
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
1
                if (arguments.size() == 1 ||
761
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
1
                    Int16 scale_arg = 0;
764
1
                    if (arguments.size() == 2) {
765
1
                        RETURN_IF_ERROR(
766
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
1
                    }
768
769
1
                    res = Dispatcher<DataType::PType, rounding_mode,
770
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
1
                                                                         result_scale);
772
1
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
1
                return true;
788
1
            }
789
790
0
            return false;
791
1
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Line
Count
Source
738
13
        auto call = [&](const auto& types) -> bool {
739
13
            using Types = std::decay_t<decltype(types)>;
740
13
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
13
            Int16 result_scale = 0;
745
13
            if constexpr (IsDataTypeDecimal<DataType>) {
746
13
                if (column_result.type->is_nullable()) {
747
13
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
13
                                column_result.type)) {
749
13
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
13
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
13
                } else {
755
0
                    result_scale = column_result.type->get_scale();
756
0
                }
757
13
            }
758
759
13
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
13
                if (arguments.size() == 1 ||
761
13
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
13
                    Int16 scale_arg = 0;
764
13
                    if (arguments.size() == 2) {
765
13
                        RETURN_IF_ERROR(
766
13
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
13
                    }
768
769
13
                    res = Dispatcher<DataType::PType, rounding_mode,
770
13
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
13
                                                                         result_scale);
772
13
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
13
                return true;
788
13
            }
789
790
0
            return false;
791
13
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
_ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Line
Count
Source
738
1
        auto call = [&](const auto& types) -> bool {
739
1
            using Types = std::decay_t<decltype(types)>;
740
1
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
1
            Int16 result_scale = 0;
745
1
            if constexpr (IsDataTypeDecimal<DataType>) {
746
1
                if (column_result.type->is_nullable()) {
747
0
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
0
                                column_result.type)) {
749
0
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
0
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
1
                } else {
755
1
                    result_scale = column_result.type->get_scale();
756
1
                }
757
1
            }
758
759
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
1
                if (arguments.size() == 1 ||
761
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
1
                    Int16 scale_arg = 0;
764
1
                    if (arguments.size() == 2) {
765
1
                        RETURN_IF_ERROR(
766
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
1
                    }
768
769
1
                    res = Dispatcher<DataType::PType, rounding_mode,
770
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
1
                                                                         result_scale);
772
1
                } else {
773
                    // the SECOND arugment is COLUMN
774
0
                    if (is_col_general_const) {
775
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
0
                                apply_const_vec(
777
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
0
                                        block.get_by_position(arguments[1]).column.get(),
779
0
                                        result_scale);
780
0
                    } else {
781
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
0
                                apply_vec_vec(col_general,
783
0
                                              block.get_by_position(arguments[1]).column.get(),
784
0
                                              result_scale);
785
0
                    }
786
0
                }
787
1
                return true;
788
1
            }
789
790
0
            return false;
791
1
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
2.54k
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
2.54k
        column_result.column = std::move(res);
809
2.54k
        return Status::OK();
810
2.54k
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
2
                        uint32_t result, size_t input_rows_count) const override {
721
2
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
2
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
2
        const DataTypePtr result_type = block.get_by_position(result).type;
724
2
        const bool is_col_general_const = is_column_const(*column_general.column);
725
2
        const auto* col_general = is_col_general_const
726
2
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
2
                                          : column_general.column.get();
730
2
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
2
        auto call = [&](const auto& types) -> bool {
739
2
            using Types = std::decay_t<decltype(types)>;
740
2
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
2
            Int16 result_scale = 0;
745
2
            if constexpr (IsDataTypeDecimal<DataType>) {
746
2
                if (column_result.type->is_nullable()) {
747
2
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
2
                                column_result.type)) {
749
2
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
2
                    } else {
751
2
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
2
                                               "Illegal nullable column");
753
2
                    }
754
2
                } else {
755
2
                    result_scale = column_result.type->get_scale();
756
2
                }
757
2
            }
758
759
2
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
2
                if (arguments.size() == 1 ||
761
2
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
2
                    Int16 scale_arg = 0;
764
2
                    if (arguments.size() == 2) {
765
2
                        RETURN_IF_ERROR(
766
2
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
2
                    }
768
769
2
                    res = Dispatcher<DataType::PType, rounding_mode,
770
2
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
2
                                                                         result_scale);
772
2
                } else {
773
                    // the SECOND arugment is COLUMN
774
2
                    if (is_col_general_const) {
775
2
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
2
                                apply_const_vec(
777
2
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
2
                                        block.get_by_position(arguments[1]).column.get(),
779
2
                                        result_scale);
780
2
                    } else {
781
2
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
2
                                apply_vec_vec(col_general,
783
2
                                              block.get_by_position(arguments[1]).column.get(),
784
2
                                              result_scale);
785
2
                    }
786
2
                }
787
2
                return true;
788
2
            }
789
790
2
            return false;
791
2
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
2
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
2
        column_result.column = std::move(res);
809
2
        return Status::OK();
810
2
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
41
                        uint32_t result, size_t input_rows_count) const override {
721
41
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
41
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
41
        const DataTypePtr result_type = block.get_by_position(result).type;
724
41
        const bool is_col_general_const = is_column_const(*column_general.column);
725
41
        const auto* col_general = is_col_general_const
726
41
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
41
                                          : column_general.column.get();
730
41
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
41
        auto call = [&](const auto& types) -> bool {
739
41
            using Types = std::decay_t<decltype(types)>;
740
41
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
41
            Int16 result_scale = 0;
745
41
            if constexpr (IsDataTypeDecimal<DataType>) {
746
41
                if (column_result.type->is_nullable()) {
747
41
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
41
                                column_result.type)) {
749
41
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
41
                    } else {
751
41
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
41
                                               "Illegal nullable column");
753
41
                    }
754
41
                } else {
755
41
                    result_scale = column_result.type->get_scale();
756
41
                }
757
41
            }
758
759
41
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
41
                if (arguments.size() == 1 ||
761
41
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
41
                    Int16 scale_arg = 0;
764
41
                    if (arguments.size() == 2) {
765
41
                        RETURN_IF_ERROR(
766
41
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
41
                    }
768
769
41
                    res = Dispatcher<DataType::PType, rounding_mode,
770
41
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
41
                                                                         result_scale);
772
41
                } else {
773
                    // the SECOND arugment is COLUMN
774
41
                    if (is_col_general_const) {
775
41
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
41
                                apply_const_vec(
777
41
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
41
                                        block.get_by_position(arguments[1]).column.get(),
779
41
                                        result_scale);
780
41
                    } else {
781
41
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
41
                                apply_vec_vec(col_general,
783
41
                                              block.get_by_position(arguments[1]).column.get(),
784
41
                                              result_scale);
785
41
                    }
786
41
                }
787
41
                return true;
788
41
            }
789
790
41
            return false;
791
41
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
41
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
41
        column_result.column = std::move(res);
809
41
        return Status::OK();
810
41
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
63
                        uint32_t result, size_t input_rows_count) const override {
721
63
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
63
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
63
        const DataTypePtr result_type = block.get_by_position(result).type;
724
63
        const bool is_col_general_const = is_column_const(*column_general.column);
725
63
        const auto* col_general = is_col_general_const
726
63
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
63
                                          : column_general.column.get();
730
63
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
63
        auto call = [&](const auto& types) -> bool {
739
63
            using Types = std::decay_t<decltype(types)>;
740
63
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
63
            Int16 result_scale = 0;
745
63
            if constexpr (IsDataTypeDecimal<DataType>) {
746
63
                if (column_result.type->is_nullable()) {
747
63
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
63
                                column_result.type)) {
749
63
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
63
                    } else {
751
63
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
63
                                               "Illegal nullable column");
753
63
                    }
754
63
                } else {
755
63
                    result_scale = column_result.type->get_scale();
756
63
                }
757
63
            }
758
759
63
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
63
                if (arguments.size() == 1 ||
761
63
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
63
                    Int16 scale_arg = 0;
764
63
                    if (arguments.size() == 2) {
765
63
                        RETURN_IF_ERROR(
766
63
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
63
                    }
768
769
63
                    res = Dispatcher<DataType::PType, rounding_mode,
770
63
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
63
                                                                         result_scale);
772
63
                } else {
773
                    // the SECOND arugment is COLUMN
774
63
                    if (is_col_general_const) {
775
63
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
63
                                apply_const_vec(
777
63
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
63
                                        block.get_by_position(arguments[1]).column.get(),
779
63
                                        result_scale);
780
63
                    } else {
781
63
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
63
                                apply_vec_vec(col_general,
783
63
                                              block.get_by_position(arguments[1]).column.get(),
784
63
                                              result_scale);
785
63
                    }
786
63
                }
787
63
                return true;
788
63
            }
789
790
63
            return false;
791
63
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
63
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
63
        column_result.column = std::move(res);
809
63
        return Status::OK();
810
63
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
24
                        uint32_t result, size_t input_rows_count) const override {
721
24
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
24
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
24
        const DataTypePtr result_type = block.get_by_position(result).type;
724
24
        const bool is_col_general_const = is_column_const(*column_general.column);
725
24
        const auto* col_general = is_col_general_const
726
24
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
24
                                          : column_general.column.get();
730
24
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
24
        auto call = [&](const auto& types) -> bool {
739
24
            using Types = std::decay_t<decltype(types)>;
740
24
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
24
            Int16 result_scale = 0;
745
24
            if constexpr (IsDataTypeDecimal<DataType>) {
746
24
                if (column_result.type->is_nullable()) {
747
24
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
24
                                column_result.type)) {
749
24
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
24
                    } else {
751
24
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
24
                                               "Illegal nullable column");
753
24
                    }
754
24
                } else {
755
24
                    result_scale = column_result.type->get_scale();
756
24
                }
757
24
            }
758
759
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
24
                if (arguments.size() == 1 ||
761
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
24
                    Int16 scale_arg = 0;
764
24
                    if (arguments.size() == 2) {
765
24
                        RETURN_IF_ERROR(
766
24
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
24
                    }
768
769
24
                    res = Dispatcher<DataType::PType, rounding_mode,
770
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
24
                                                                         result_scale);
772
24
                } else {
773
                    // the SECOND arugment is COLUMN
774
24
                    if (is_col_general_const) {
775
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
24
                                apply_const_vec(
777
24
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
24
                                        block.get_by_position(arguments[1]).column.get(),
779
24
                                        result_scale);
780
24
                    } else {
781
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
24
                                apply_vec_vec(col_general,
783
24
                                              block.get_by_position(arguments[1]).column.get(),
784
24
                                              result_scale);
785
24
                    }
786
24
                }
787
24
                return true;
788
24
            }
789
790
24
            return false;
791
24
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
24
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
24
        column_result.column = std::move(res);
809
24
        return Status::OK();
810
24
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
11
                        uint32_t result, size_t input_rows_count) const override {
721
11
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
11
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
11
        const DataTypePtr result_type = block.get_by_position(result).type;
724
11
        const bool is_col_general_const = is_column_const(*column_general.column);
725
11
        const auto* col_general = is_col_general_const
726
11
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
11
                                          : column_general.column.get();
730
11
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
11
        auto call = [&](const auto& types) -> bool {
739
11
            using Types = std::decay_t<decltype(types)>;
740
11
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
11
            Int16 result_scale = 0;
745
11
            if constexpr (IsDataTypeDecimal<DataType>) {
746
11
                if (column_result.type->is_nullable()) {
747
11
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
11
                                column_result.type)) {
749
11
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
11
                    } else {
751
11
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
11
                                               "Illegal nullable column");
753
11
                    }
754
11
                } else {
755
11
                    result_scale = column_result.type->get_scale();
756
11
                }
757
11
            }
758
759
11
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
11
                if (arguments.size() == 1 ||
761
11
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
11
                    Int16 scale_arg = 0;
764
11
                    if (arguments.size() == 2) {
765
11
                        RETURN_IF_ERROR(
766
11
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
11
                    }
768
769
11
                    res = Dispatcher<DataType::PType, rounding_mode,
770
11
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
11
                                                                         result_scale);
772
11
                } else {
773
                    // the SECOND arugment is COLUMN
774
11
                    if (is_col_general_const) {
775
11
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
11
                                apply_const_vec(
777
11
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
11
                                        block.get_by_position(arguments[1]).column.get(),
779
11
                                        result_scale);
780
11
                    } else {
781
11
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
11
                                apply_vec_vec(col_general,
783
11
                                              block.get_by_position(arguments[1]).column.get(),
784
11
                                              result_scale);
785
11
                    }
786
11
                }
787
11
                return true;
788
11
            }
789
790
11
            return false;
791
11
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
11
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
11
        column_result.column = std::move(res);
809
11
        return Status::OK();
810
11
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
62
                        uint32_t result, size_t input_rows_count) const override {
721
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
62
        const DataTypePtr result_type = block.get_by_position(result).type;
724
62
        const bool is_col_general_const = is_column_const(*column_general.column);
725
62
        const auto* col_general = is_col_general_const
726
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
9
                                                    .get_data_column_ptr()
728
9
                                                    .get()
729
62
                                          : column_general.column.get();
730
62
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
62
                                column_result.type)) {
749
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
62
                    } else {
751
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
62
                                               "Illegal nullable column");
753
62
                    }
754
62
                } else {
755
62
                    result_scale = column_result.type->get_scale();
756
62
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
62
                    Int16 scale_arg = 0;
764
62
                    if (arguments.size() == 2) {
765
62
                        RETURN_IF_ERROR(
766
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
62
                    }
768
769
62
                    res = Dispatcher<DataType::PType, rounding_mode,
770
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
62
                                                                         result_scale);
772
62
                } else {
773
                    // the SECOND arugment is COLUMN
774
62
                    if (is_col_general_const) {
775
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
62
                                apply_const_vec(
777
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
62
                                        block.get_by_position(arguments[1]).column.get(),
779
62
                                        result_scale);
780
62
                    } else {
781
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
62
                                apply_vec_vec(col_general,
783
62
                                              block.get_by_position(arguments[1]).column.get(),
784
62
                                              result_scale);
785
62
                    }
786
62
                }
787
62
                return true;
788
62
            }
789
790
62
            return false;
791
62
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
62
        column_result.column = std::move(res);
809
62
        return Status::OK();
810
62
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
25
                        uint32_t result, size_t input_rows_count) const override {
721
25
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
25
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
25
        const DataTypePtr result_type = block.get_by_position(result).type;
724
25
        const bool is_col_general_const = is_column_const(*column_general.column);
725
25
        const auto* col_general = is_col_general_const
726
25
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
9
                                                    .get_data_column_ptr()
728
9
                                                    .get()
729
25
                                          : column_general.column.get();
730
25
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
25
        auto call = [&](const auto& types) -> bool {
739
25
            using Types = std::decay_t<decltype(types)>;
740
25
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
25
            Int16 result_scale = 0;
745
25
            if constexpr (IsDataTypeDecimal<DataType>) {
746
25
                if (column_result.type->is_nullable()) {
747
25
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
25
                                column_result.type)) {
749
25
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
25
                    } else {
751
25
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
25
                                               "Illegal nullable column");
753
25
                    }
754
25
                } else {
755
25
                    result_scale = column_result.type->get_scale();
756
25
                }
757
25
            }
758
759
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
25
                if (arguments.size() == 1 ||
761
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
25
                    Int16 scale_arg = 0;
764
25
                    if (arguments.size() == 2) {
765
25
                        RETURN_IF_ERROR(
766
25
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
25
                    }
768
769
25
                    res = Dispatcher<DataType::PType, rounding_mode,
770
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
25
                                                                         result_scale);
772
25
                } else {
773
                    // the SECOND arugment is COLUMN
774
25
                    if (is_col_general_const) {
775
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
25
                                apply_const_vec(
777
25
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
25
                                        block.get_by_position(arguments[1]).column.get(),
779
25
                                        result_scale);
780
25
                    } else {
781
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
25
                                apply_vec_vec(col_general,
783
25
                                              block.get_by_position(arguments[1]).column.get(),
784
25
                                              result_scale);
785
25
                    }
786
25
                }
787
25
                return true;
788
25
            }
789
790
25
            return false;
791
25
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
25
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
25
        column_result.column = std::move(res);
809
25
        return Status::OK();
810
25
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
387
                        uint32_t result, size_t input_rows_count) const override {
721
387
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
387
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
387
        const DataTypePtr result_type = block.get_by_position(result).type;
724
387
        const bool is_col_general_const = is_column_const(*column_general.column);
725
387
        const auto* col_general = is_col_general_const
726
387
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
11
                                                    .get_data_column_ptr()
728
11
                                                    .get()
729
387
                                          : column_general.column.get();
730
387
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
387
        auto call = [&](const auto& types) -> bool {
739
387
            using Types = std::decay_t<decltype(types)>;
740
387
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
387
            Int16 result_scale = 0;
745
387
            if constexpr (IsDataTypeDecimal<DataType>) {
746
387
                if (column_result.type->is_nullable()) {
747
387
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
387
                                column_result.type)) {
749
387
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
387
                    } else {
751
387
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
387
                                               "Illegal nullable column");
753
387
                    }
754
387
                } else {
755
387
                    result_scale = column_result.type->get_scale();
756
387
                }
757
387
            }
758
759
387
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
387
                if (arguments.size() == 1 ||
761
387
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
387
                    Int16 scale_arg = 0;
764
387
                    if (arguments.size() == 2) {
765
387
                        RETURN_IF_ERROR(
766
387
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
387
                    }
768
769
387
                    res = Dispatcher<DataType::PType, rounding_mode,
770
387
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
387
                                                                         result_scale);
772
387
                } else {
773
                    // the SECOND arugment is COLUMN
774
387
                    if (is_col_general_const) {
775
387
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
387
                                apply_const_vec(
777
387
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
387
                                        block.get_by_position(arguments[1]).column.get(),
779
387
                                        result_scale);
780
387
                    } else {
781
387
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
387
                                apply_vec_vec(col_general,
783
387
                                              block.get_by_position(arguments[1]).column.get(),
784
387
                                              result_scale);
785
387
                    }
786
387
                }
787
387
                return true;
788
387
            }
789
790
387
            return false;
791
387
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
387
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
387
        column_result.column = std::move(res);
809
387
        return Status::OK();
810
387
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
28
                        uint32_t result, size_t input_rows_count) const override {
721
28
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
28
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
28
        const DataTypePtr result_type = block.get_by_position(result).type;
724
28
        const bool is_col_general_const = is_column_const(*column_general.column);
725
28
        const auto* col_general = is_col_general_const
726
28
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
9
                                                    .get_data_column_ptr()
728
9
                                                    .get()
729
28
                                          : column_general.column.get();
730
28
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
28
        auto call = [&](const auto& types) -> bool {
739
28
            using Types = std::decay_t<decltype(types)>;
740
28
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
28
            Int16 result_scale = 0;
745
28
            if constexpr (IsDataTypeDecimal<DataType>) {
746
28
                if (column_result.type->is_nullable()) {
747
28
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
28
                                column_result.type)) {
749
28
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
28
                    } else {
751
28
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
28
                                               "Illegal nullable column");
753
28
                    }
754
28
                } else {
755
28
                    result_scale = column_result.type->get_scale();
756
28
                }
757
28
            }
758
759
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
28
                if (arguments.size() == 1 ||
761
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
28
                    Int16 scale_arg = 0;
764
28
                    if (arguments.size() == 2) {
765
28
                        RETURN_IF_ERROR(
766
28
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
28
                    }
768
769
28
                    res = Dispatcher<DataType::PType, rounding_mode,
770
28
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
28
                                                                         result_scale);
772
28
                } else {
773
                    // the SECOND arugment is COLUMN
774
28
                    if (is_col_general_const) {
775
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
28
                                apply_const_vec(
777
28
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
28
                                        block.get_by_position(arguments[1]).column.get(),
779
28
                                        result_scale);
780
28
                    } else {
781
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
28
                                apply_vec_vec(col_general,
783
28
                                              block.get_by_position(arguments[1]).column.get(),
784
28
                                              result_scale);
785
28
                    }
786
28
                }
787
28
                return true;
788
28
            }
789
790
28
            return false;
791
28
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
28
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
28
        column_result.column = std::move(res);
809
28
        return Status::OK();
810
28
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
34
                        uint32_t result, size_t input_rows_count) const override {
721
34
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
34
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
34
        const DataTypePtr result_type = block.get_by_position(result).type;
724
34
        const bool is_col_general_const = is_column_const(*column_general.column);
725
34
        const auto* col_general = is_col_general_const
726
34
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
11
                                                    .get_data_column_ptr()
728
11
                                                    .get()
729
34
                                          : column_general.column.get();
730
34
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
34
        auto call = [&](const auto& types) -> bool {
739
34
            using Types = std::decay_t<decltype(types)>;
740
34
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
34
            Int16 result_scale = 0;
745
34
            if constexpr (IsDataTypeDecimal<DataType>) {
746
34
                if (column_result.type->is_nullable()) {
747
34
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
34
                                column_result.type)) {
749
34
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
34
                    } else {
751
34
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
34
                                               "Illegal nullable column");
753
34
                    }
754
34
                } else {
755
34
                    result_scale = column_result.type->get_scale();
756
34
                }
757
34
            }
758
759
34
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
34
                if (arguments.size() == 1 ||
761
34
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
34
                    Int16 scale_arg = 0;
764
34
                    if (arguments.size() == 2) {
765
34
                        RETURN_IF_ERROR(
766
34
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
34
                    }
768
769
34
                    res = Dispatcher<DataType::PType, rounding_mode,
770
34
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
34
                                                                         result_scale);
772
34
                } else {
773
                    // the SECOND arugment is COLUMN
774
34
                    if (is_col_general_const) {
775
34
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
34
                                apply_const_vec(
777
34
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
34
                                        block.get_by_position(arguments[1]).column.get(),
779
34
                                        result_scale);
780
34
                    } else {
781
34
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
34
                                apply_vec_vec(col_general,
783
34
                                              block.get_by_position(arguments[1]).column.get(),
784
34
                                              result_scale);
785
34
                    }
786
34
                }
787
34
                return true;
788
34
            }
789
790
34
            return false;
791
34
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
34
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
34
        column_result.column = std::move(res);
809
34
        return Status::OK();
810
34
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
29
                        uint32_t result, size_t input_rows_count) const override {
721
29
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
29
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
29
        const DataTypePtr result_type = block.get_by_position(result).type;
724
29
        const bool is_col_general_const = is_column_const(*column_general.column);
725
29
        const auto* col_general = is_col_general_const
726
29
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
29
                                          : column_general.column.get();
730
29
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
29
        auto call = [&](const auto& types) -> bool {
739
29
            using Types = std::decay_t<decltype(types)>;
740
29
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
29
            Int16 result_scale = 0;
745
29
            if constexpr (IsDataTypeDecimal<DataType>) {
746
29
                if (column_result.type->is_nullable()) {
747
29
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
29
                                column_result.type)) {
749
29
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
29
                    } else {
751
29
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
29
                                               "Illegal nullable column");
753
29
                    }
754
29
                } else {
755
29
                    result_scale = column_result.type->get_scale();
756
29
                }
757
29
            }
758
759
29
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
29
                if (arguments.size() == 1 ||
761
29
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
29
                    Int16 scale_arg = 0;
764
29
                    if (arguments.size() == 2) {
765
29
                        RETURN_IF_ERROR(
766
29
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
29
                    }
768
769
29
                    res = Dispatcher<DataType::PType, rounding_mode,
770
29
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
29
                                                                         result_scale);
772
29
                } else {
773
                    // the SECOND arugment is COLUMN
774
29
                    if (is_col_general_const) {
775
29
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
29
                                apply_const_vec(
777
29
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
29
                                        block.get_by_position(arguments[1]).column.get(),
779
29
                                        result_scale);
780
29
                    } else {
781
29
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
29
                                apply_vec_vec(col_general,
783
29
                                              block.get_by_position(arguments[1]).column.get(),
784
29
                                              result_scale);
785
29
                    }
786
29
                }
787
29
                return true;
788
29
            }
789
790
29
            return false;
791
29
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
29
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
29
        column_result.column = std::move(res);
809
29
        return Status::OK();
810
29
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
23
                        uint32_t result, size_t input_rows_count) const override {
721
23
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
23
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
23
        const DataTypePtr result_type = block.get_by_position(result).type;
724
23
        const bool is_col_general_const = is_column_const(*column_general.column);
725
23
        const auto* col_general = is_col_general_const
726
23
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
23
                                          : column_general.column.get();
730
23
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
23
        auto call = [&](const auto& types) -> bool {
739
23
            using Types = std::decay_t<decltype(types)>;
740
23
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
23
            Int16 result_scale = 0;
745
23
            if constexpr (IsDataTypeDecimal<DataType>) {
746
23
                if (column_result.type->is_nullable()) {
747
23
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
23
                                column_result.type)) {
749
23
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
23
                    } else {
751
23
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
23
                                               "Illegal nullable column");
753
23
                    }
754
23
                } else {
755
23
                    result_scale = column_result.type->get_scale();
756
23
                }
757
23
            }
758
759
23
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
23
                if (arguments.size() == 1 ||
761
23
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
23
                    Int16 scale_arg = 0;
764
23
                    if (arguments.size() == 2) {
765
23
                        RETURN_IF_ERROR(
766
23
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
23
                    }
768
769
23
                    res = Dispatcher<DataType::PType, rounding_mode,
770
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
23
                                                                         result_scale);
772
23
                } else {
773
                    // the SECOND arugment is COLUMN
774
23
                    if (is_col_general_const) {
775
23
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
23
                                apply_const_vec(
777
23
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
23
                                        block.get_by_position(arguments[1]).column.get(),
779
23
                                        result_scale);
780
23
                    } else {
781
23
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
23
                                apply_vec_vec(col_general,
783
23
                                              block.get_by_position(arguments[1]).column.get(),
784
23
                                              result_scale);
785
23
                    }
786
23
                }
787
23
                return true;
788
23
            }
789
790
23
            return false;
791
23
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
23
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
23
        column_result.column = std::move(res);
809
23
        return Status::OK();
810
23
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
25
                        uint32_t result, size_t input_rows_count) const override {
721
25
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
25
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
25
        const DataTypePtr result_type = block.get_by_position(result).type;
724
25
        const bool is_col_general_const = is_column_const(*column_general.column);
725
25
        const auto* col_general = is_col_general_const
726
25
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
25
                                          : column_general.column.get();
730
25
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
25
        auto call = [&](const auto& types) -> bool {
739
25
            using Types = std::decay_t<decltype(types)>;
740
25
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
25
            Int16 result_scale = 0;
745
25
            if constexpr (IsDataTypeDecimal<DataType>) {
746
25
                if (column_result.type->is_nullable()) {
747
25
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
25
                                column_result.type)) {
749
25
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
25
                    } else {
751
25
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
25
                                               "Illegal nullable column");
753
25
                    }
754
25
                } else {
755
25
                    result_scale = column_result.type->get_scale();
756
25
                }
757
25
            }
758
759
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
25
                if (arguments.size() == 1 ||
761
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
25
                    Int16 scale_arg = 0;
764
25
                    if (arguments.size() == 2) {
765
25
                        RETURN_IF_ERROR(
766
25
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
25
                    }
768
769
25
                    res = Dispatcher<DataType::PType, rounding_mode,
770
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
25
                                                                         result_scale);
772
25
                } else {
773
                    // the SECOND arugment is COLUMN
774
25
                    if (is_col_general_const) {
775
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
25
                                apply_const_vec(
777
25
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
25
                                        block.get_by_position(arguments[1]).column.get(),
779
25
                                        result_scale);
780
25
                    } else {
781
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
25
                                apply_vec_vec(col_general,
783
25
                                              block.get_by_position(arguments[1]).column.get(),
784
25
                                              result_scale);
785
25
                    }
786
25
                }
787
25
                return true;
788
25
            }
789
790
25
            return false;
791
25
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
25
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
25
        column_result.column = std::move(res);
809
25
        return Status::OK();
810
25
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
19
                        uint32_t result, size_t input_rows_count) const override {
721
19
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
19
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
19
        const DataTypePtr result_type = block.get_by_position(result).type;
724
19
        const bool is_col_general_const = is_column_const(*column_general.column);
725
19
        const auto* col_general = is_col_general_const
726
19
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
19
                                          : column_general.column.get();
730
19
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
19
        auto call = [&](const auto& types) -> bool {
739
19
            using Types = std::decay_t<decltype(types)>;
740
19
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
19
            Int16 result_scale = 0;
745
19
            if constexpr (IsDataTypeDecimal<DataType>) {
746
19
                if (column_result.type->is_nullable()) {
747
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
19
                                column_result.type)) {
749
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
19
                    } else {
751
19
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
19
                                               "Illegal nullable column");
753
19
                    }
754
19
                } else {
755
19
                    result_scale = column_result.type->get_scale();
756
19
                }
757
19
            }
758
759
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
19
                if (arguments.size() == 1 ||
761
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
19
                    Int16 scale_arg = 0;
764
19
                    if (arguments.size() == 2) {
765
19
                        RETURN_IF_ERROR(
766
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
19
                    }
768
769
19
                    res = Dispatcher<DataType::PType, rounding_mode,
770
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
19
                                                                         result_scale);
772
19
                } else {
773
                    // the SECOND arugment is COLUMN
774
19
                    if (is_col_general_const) {
775
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
19
                                apply_const_vec(
777
19
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
19
                                        block.get_by_position(arguments[1]).column.get(),
779
19
                                        result_scale);
780
19
                    } else {
781
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
19
                                apply_vec_vec(col_general,
783
19
                                              block.get_by_position(arguments[1]).column.get(),
784
19
                                              result_scale);
785
19
                    }
786
19
                }
787
19
                return true;
788
19
            }
789
790
19
            return false;
791
19
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
19
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
19
        column_result.column = std::move(res);
809
19
        return Status::OK();
810
19
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
217
                        uint32_t result, size_t input_rows_count) const override {
721
217
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
217
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
217
        const DataTypePtr result_type = block.get_by_position(result).type;
724
217
        const bool is_col_general_const = is_column_const(*column_general.column);
725
217
        const auto* col_general = is_col_general_const
726
217
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
217
                                          : column_general.column.get();
730
217
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
217
        auto call = [&](const auto& types) -> bool {
739
217
            using Types = std::decay_t<decltype(types)>;
740
217
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
217
            Int16 result_scale = 0;
745
217
            if constexpr (IsDataTypeDecimal<DataType>) {
746
217
                if (column_result.type->is_nullable()) {
747
217
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
217
                                column_result.type)) {
749
217
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
217
                    } else {
751
217
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
217
                                               "Illegal nullable column");
753
217
                    }
754
217
                } else {
755
217
                    result_scale = column_result.type->get_scale();
756
217
                }
757
217
            }
758
759
217
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
217
                if (arguments.size() == 1 ||
761
217
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
217
                    Int16 scale_arg = 0;
764
217
                    if (arguments.size() == 2) {
765
217
                        RETURN_IF_ERROR(
766
217
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
217
                    }
768
769
217
                    res = Dispatcher<DataType::PType, rounding_mode,
770
217
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
217
                                                                         result_scale);
772
217
                } else {
773
                    // the SECOND arugment is COLUMN
774
217
                    if (is_col_general_const) {
775
217
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
217
                                apply_const_vec(
777
217
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
217
                                        block.get_by_position(arguments[1]).column.get(),
779
217
                                        result_scale);
780
217
                    } else {
781
217
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
217
                                apply_vec_vec(col_general,
783
217
                                              block.get_by_position(arguments[1]).column.get(),
784
217
                                              result_scale);
785
217
                    }
786
217
                }
787
217
                return true;
788
217
            }
789
790
217
            return false;
791
217
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
217
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
217
        column_result.column = std::move(res);
809
217
        return Status::OK();
810
217
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
27
                        uint32_t result, size_t input_rows_count) const override {
721
27
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
27
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
27
        const DataTypePtr result_type = block.get_by_position(result).type;
724
27
        const bool is_col_general_const = is_column_const(*column_general.column);
725
27
        const auto* col_general = is_col_general_const
726
27
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
27
                                          : column_general.column.get();
730
27
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
27
        auto call = [&](const auto& types) -> bool {
739
27
            using Types = std::decay_t<decltype(types)>;
740
27
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
27
            Int16 result_scale = 0;
745
27
            if constexpr (IsDataTypeDecimal<DataType>) {
746
27
                if (column_result.type->is_nullable()) {
747
27
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
27
                                column_result.type)) {
749
27
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
27
                    } else {
751
27
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
27
                                               "Illegal nullable column");
753
27
                    }
754
27
                } else {
755
27
                    result_scale = column_result.type->get_scale();
756
27
                }
757
27
            }
758
759
27
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
27
                if (arguments.size() == 1 ||
761
27
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
27
                    Int16 scale_arg = 0;
764
27
                    if (arguments.size() == 2) {
765
27
                        RETURN_IF_ERROR(
766
27
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
27
                    }
768
769
27
                    res = Dispatcher<DataType::PType, rounding_mode,
770
27
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
27
                                                                         result_scale);
772
27
                } else {
773
                    // the SECOND arugment is COLUMN
774
27
                    if (is_col_general_const) {
775
27
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
27
                                apply_const_vec(
777
27
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
27
                                        block.get_by_position(arguments[1]).column.get(),
779
27
                                        result_scale);
780
27
                    } else {
781
27
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
27
                                apply_vec_vec(col_general,
783
27
                                              block.get_by_position(arguments[1]).column.get(),
784
27
                                              result_scale);
785
27
                    }
786
27
                }
787
27
                return true;
788
27
            }
789
790
27
            return false;
791
27
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
27
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
27
        column_result.column = std::move(res);
809
27
        return Status::OK();
810
27
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
19
                        uint32_t result, size_t input_rows_count) const override {
721
19
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
19
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
19
        const DataTypePtr result_type = block.get_by_position(result).type;
724
19
        const bool is_col_general_const = is_column_const(*column_general.column);
725
19
        const auto* col_general = is_col_general_const
726
19
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
19
                                          : column_general.column.get();
730
19
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
19
        auto call = [&](const auto& types) -> bool {
739
19
            using Types = std::decay_t<decltype(types)>;
740
19
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
19
            Int16 result_scale = 0;
745
19
            if constexpr (IsDataTypeDecimal<DataType>) {
746
19
                if (column_result.type->is_nullable()) {
747
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
19
                                column_result.type)) {
749
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
19
                    } else {
751
19
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
19
                                               "Illegal nullable column");
753
19
                    }
754
19
                } else {
755
19
                    result_scale = column_result.type->get_scale();
756
19
                }
757
19
            }
758
759
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
19
                if (arguments.size() == 1 ||
761
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
19
                    Int16 scale_arg = 0;
764
19
                    if (arguments.size() == 2) {
765
19
                        RETURN_IF_ERROR(
766
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
19
                    }
768
769
19
                    res = Dispatcher<DataType::PType, rounding_mode,
770
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
19
                                                                         result_scale);
772
19
                } else {
773
                    // the SECOND arugment is COLUMN
774
19
                    if (is_col_general_const) {
775
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
19
                                apply_const_vec(
777
19
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
19
                                        block.get_by_position(arguments[1]).column.get(),
779
19
                                        result_scale);
780
19
                    } else {
781
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
19
                                apply_vec_vec(col_general,
783
19
                                              block.get_by_position(arguments[1]).column.get(),
784
19
                                              result_scale);
785
19
                    }
786
19
                }
787
19
                return true;
788
19
            }
789
790
19
            return false;
791
19
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
19
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
19
        column_result.column = std::move(res);
809
19
        return Status::OK();
810
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
79
                        uint32_t result, size_t input_rows_count) const override {
721
79
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
79
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
79
        const DataTypePtr result_type = block.get_by_position(result).type;
724
79
        const bool is_col_general_const = is_column_const(*column_general.column);
725
79
        const auto* col_general = is_col_general_const
726
79
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
79
                                          : column_general.column.get();
730
79
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
79
        auto call = [&](const auto& types) -> bool {
739
79
            using Types = std::decay_t<decltype(types)>;
740
79
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
79
            Int16 result_scale = 0;
745
79
            if constexpr (IsDataTypeDecimal<DataType>) {
746
79
                if (column_result.type->is_nullable()) {
747
79
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
79
                                column_result.type)) {
749
79
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
79
                    } else {
751
79
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
79
                                               "Illegal nullable column");
753
79
                    }
754
79
                } else {
755
79
                    result_scale = column_result.type->get_scale();
756
79
                }
757
79
            }
758
759
79
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
79
                if (arguments.size() == 1 ||
761
79
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
79
                    Int16 scale_arg = 0;
764
79
                    if (arguments.size() == 2) {
765
79
                        RETURN_IF_ERROR(
766
79
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
79
                    }
768
769
79
                    res = Dispatcher<DataType::PType, rounding_mode,
770
79
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
79
                                                                         result_scale);
772
79
                } else {
773
                    // the SECOND arugment is COLUMN
774
79
                    if (is_col_general_const) {
775
79
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
79
                                apply_const_vec(
777
79
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
79
                                        block.get_by_position(arguments[1]).column.get(),
779
79
                                        result_scale);
780
79
                    } else {
781
79
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
79
                                apply_vec_vec(col_general,
783
79
                                              block.get_by_position(arguments[1]).column.get(),
784
79
                                              result_scale);
785
79
                    }
786
79
                }
787
79
                return true;
788
79
            }
789
790
79
            return false;
791
79
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
79
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
79
        column_result.column = std::move(res);
809
79
        return Status::OK();
810
79
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
25
                        uint32_t result, size_t input_rows_count) const override {
721
25
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
25
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
25
        const DataTypePtr result_type = block.get_by_position(result).type;
724
25
        const bool is_col_general_const = is_column_const(*column_general.column);
725
25
        const auto* col_general = is_col_general_const
726
25
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
25
                                          : column_general.column.get();
730
25
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
25
        auto call = [&](const auto& types) -> bool {
739
25
            using Types = std::decay_t<decltype(types)>;
740
25
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
25
            Int16 result_scale = 0;
745
25
            if constexpr (IsDataTypeDecimal<DataType>) {
746
25
                if (column_result.type->is_nullable()) {
747
25
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
25
                                column_result.type)) {
749
25
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
25
                    } else {
751
25
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
25
                                               "Illegal nullable column");
753
25
                    }
754
25
                } else {
755
25
                    result_scale = column_result.type->get_scale();
756
25
                }
757
25
            }
758
759
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
25
                if (arguments.size() == 1 ||
761
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
25
                    Int16 scale_arg = 0;
764
25
                    if (arguments.size() == 2) {
765
25
                        RETURN_IF_ERROR(
766
25
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
25
                    }
768
769
25
                    res = Dispatcher<DataType::PType, rounding_mode,
770
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
25
                                                                         result_scale);
772
25
                } else {
773
                    // the SECOND arugment is COLUMN
774
25
                    if (is_col_general_const) {
775
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
25
                                apply_const_vec(
777
25
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
25
                                        block.get_by_position(arguments[1]).column.get(),
779
25
                                        result_scale);
780
25
                    } else {
781
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
25
                                apply_vec_vec(col_general,
783
25
                                              block.get_by_position(arguments[1]).column.get(),
784
25
                                              result_scale);
785
25
                    }
786
25
                }
787
25
                return true;
788
25
            }
789
790
25
            return false;
791
25
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
25
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
25
        column_result.column = std::move(res);
809
25
        return Status::OK();
810
25
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
470
                        uint32_t result, size_t input_rows_count) const override {
721
470
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
470
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
470
        const DataTypePtr result_type = block.get_by_position(result).type;
724
470
        const bool is_col_general_const = is_column_const(*column_general.column);
725
470
        const auto* col_general = is_col_general_const
726
470
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
470
                                          : column_general.column.get();
730
470
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
470
        auto call = [&](const auto& types) -> bool {
739
470
            using Types = std::decay_t<decltype(types)>;
740
470
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
470
            Int16 result_scale = 0;
745
470
            if constexpr (IsDataTypeDecimal<DataType>) {
746
470
                if (column_result.type->is_nullable()) {
747
470
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
470
                                column_result.type)) {
749
470
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
470
                    } else {
751
470
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
470
                                               "Illegal nullable column");
753
470
                    }
754
470
                } else {
755
470
                    result_scale = column_result.type->get_scale();
756
470
                }
757
470
            }
758
759
470
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
470
                if (arguments.size() == 1 ||
761
470
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
470
                    Int16 scale_arg = 0;
764
470
                    if (arguments.size() == 2) {
765
470
                        RETURN_IF_ERROR(
766
470
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
470
                    }
768
769
470
                    res = Dispatcher<DataType::PType, rounding_mode,
770
470
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
470
                                                                         result_scale);
772
470
                } else {
773
                    // the SECOND arugment is COLUMN
774
470
                    if (is_col_general_const) {
775
470
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
470
                                apply_const_vec(
777
470
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
470
                                        block.get_by_position(arguments[1]).column.get(),
779
470
                                        result_scale);
780
470
                    } else {
781
470
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
470
                                apply_vec_vec(col_general,
783
470
                                              block.get_by_position(arguments[1]).column.get(),
784
470
                                              result_scale);
785
470
                    }
786
470
                }
787
470
                return true;
788
470
            }
789
790
470
            return false;
791
470
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
470
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
470
        column_result.column = std::move(res);
809
470
        return Status::OK();
810
470
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
31
                        uint32_t result, size_t input_rows_count) const override {
721
31
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
31
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
31
        const DataTypePtr result_type = block.get_by_position(result).type;
724
31
        const bool is_col_general_const = is_column_const(*column_general.column);
725
31
        const auto* col_general = is_col_general_const
726
31
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
31
                                          : column_general.column.get();
730
31
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
31
        auto call = [&](const auto& types) -> bool {
739
31
            using Types = std::decay_t<decltype(types)>;
740
31
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
31
            Int16 result_scale = 0;
745
31
            if constexpr (IsDataTypeDecimal<DataType>) {
746
31
                if (column_result.type->is_nullable()) {
747
31
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
31
                                column_result.type)) {
749
31
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
31
                    } else {
751
31
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
31
                                               "Illegal nullable column");
753
31
                    }
754
31
                } else {
755
31
                    result_scale = column_result.type->get_scale();
756
31
                }
757
31
            }
758
759
31
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
31
                if (arguments.size() == 1 ||
761
31
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
31
                    Int16 scale_arg = 0;
764
31
                    if (arguments.size() == 2) {
765
31
                        RETURN_IF_ERROR(
766
31
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
31
                    }
768
769
31
                    res = Dispatcher<DataType::PType, rounding_mode,
770
31
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
31
                                                                         result_scale);
772
31
                } else {
773
                    // the SECOND arugment is COLUMN
774
31
                    if (is_col_general_const) {
775
31
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
31
                                apply_const_vec(
777
31
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
31
                                        block.get_by_position(arguments[1]).column.get(),
779
31
                                        result_scale);
780
31
                    } else {
781
31
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
31
                                apply_vec_vec(col_general,
783
31
                                              block.get_by_position(arguments[1]).column.get(),
784
31
                                              result_scale);
785
31
                    }
786
31
                }
787
31
                return true;
788
31
            }
789
790
31
            return false;
791
31
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
31
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
31
        column_result.column = std::move(res);
809
31
        return Status::OK();
810
31
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
9
                        uint32_t result, size_t input_rows_count) const override {
721
9
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
9
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
9
        const DataTypePtr result_type = block.get_by_position(result).type;
724
9
        const bool is_col_general_const = is_column_const(*column_general.column);
725
9
        const auto* col_general = is_col_general_const
726
9
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
9
                                          : column_general.column.get();
730
9
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
9
        auto call = [&](const auto& types) -> bool {
739
9
            using Types = std::decay_t<decltype(types)>;
740
9
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
9
            Int16 result_scale = 0;
745
9
            if constexpr (IsDataTypeDecimal<DataType>) {
746
9
                if (column_result.type->is_nullable()) {
747
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
9
                                column_result.type)) {
749
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
9
                    } else {
751
9
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
9
                                               "Illegal nullable column");
753
9
                    }
754
9
                } else {
755
9
                    result_scale = column_result.type->get_scale();
756
9
                }
757
9
            }
758
759
9
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
9
                if (arguments.size() == 1 ||
761
9
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
9
                    Int16 scale_arg = 0;
764
9
                    if (arguments.size() == 2) {
765
9
                        RETURN_IF_ERROR(
766
9
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
9
                    }
768
769
9
                    res = Dispatcher<DataType::PType, rounding_mode,
770
9
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
9
                                                                         result_scale);
772
9
                } else {
773
                    // the SECOND arugment is COLUMN
774
9
                    if (is_col_general_const) {
775
9
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
9
                                apply_const_vec(
777
9
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
9
                                        block.get_by_position(arguments[1]).column.get(),
779
9
                                        result_scale);
780
9
                    } else {
781
9
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
9
                                apply_vec_vec(col_general,
783
9
                                              block.get_by_position(arguments[1]).column.get(),
784
9
                                              result_scale);
785
9
                    }
786
9
                }
787
9
                return true;
788
9
            }
789
790
9
            return false;
791
9
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
9
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
9
        column_result.column = std::move(res);
809
9
        return Status::OK();
810
9
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
69
                        uint32_t result, size_t input_rows_count) const override {
721
69
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
69
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
69
        const DataTypePtr result_type = block.get_by_position(result).type;
724
69
        const bool is_col_general_const = is_column_const(*column_general.column);
725
69
        const auto* col_general = is_col_general_const
726
69
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
15
                                                    .get_data_column_ptr()
728
15
                                                    .get()
729
69
                                          : column_general.column.get();
730
69
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
69
        auto call = [&](const auto& types) -> bool {
739
69
            using Types = std::decay_t<decltype(types)>;
740
69
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
69
            Int16 result_scale = 0;
745
69
            if constexpr (IsDataTypeDecimal<DataType>) {
746
69
                if (column_result.type->is_nullable()) {
747
69
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
69
                                column_result.type)) {
749
69
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
69
                    } else {
751
69
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
69
                                               "Illegal nullable column");
753
69
                    }
754
69
                } else {
755
69
                    result_scale = column_result.type->get_scale();
756
69
                }
757
69
            }
758
759
69
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
69
                if (arguments.size() == 1 ||
761
69
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
69
                    Int16 scale_arg = 0;
764
69
                    if (arguments.size() == 2) {
765
69
                        RETURN_IF_ERROR(
766
69
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
69
                    }
768
769
69
                    res = Dispatcher<DataType::PType, rounding_mode,
770
69
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
69
                                                                         result_scale);
772
69
                } else {
773
                    // the SECOND arugment is COLUMN
774
69
                    if (is_col_general_const) {
775
69
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
69
                                apply_const_vec(
777
69
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
69
                                        block.get_by_position(arguments[1]).column.get(),
779
69
                                        result_scale);
780
69
                    } else {
781
69
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
69
                                apply_vec_vec(col_general,
783
69
                                              block.get_by_position(arguments[1]).column.get(),
784
69
                                              result_scale);
785
69
                    }
786
69
                }
787
69
                return true;
788
69
            }
789
790
69
            return false;
791
69
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
69
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
69
        column_result.column = std::move(res);
809
69
        return Status::OK();
810
69
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
62
                        uint32_t result, size_t input_rows_count) const override {
721
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
62
        const DataTypePtr result_type = block.get_by_position(result).type;
724
62
        const bool is_col_general_const = is_column_const(*column_general.column);
725
62
        const auto* col_general = is_col_general_const
726
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
15
                                                    .get_data_column_ptr()
728
15
                                                    .get()
729
62
                                          : column_general.column.get();
730
62
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
62
                                column_result.type)) {
749
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
62
                    } else {
751
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
62
                                               "Illegal nullable column");
753
62
                    }
754
62
                } else {
755
62
                    result_scale = column_result.type->get_scale();
756
62
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
62
                    Int16 scale_arg = 0;
764
62
                    if (arguments.size() == 2) {
765
62
                        RETURN_IF_ERROR(
766
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
62
                    }
768
769
62
                    res = Dispatcher<DataType::PType, rounding_mode,
770
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
62
                                                                         result_scale);
772
62
                } else {
773
                    // the SECOND arugment is COLUMN
774
62
                    if (is_col_general_const) {
775
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
62
                                apply_const_vec(
777
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
62
                                        block.get_by_position(arguments[1]).column.get(),
779
62
                                        result_scale);
780
62
                    } else {
781
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
62
                                apply_vec_vec(col_general,
783
62
                                              block.get_by_position(arguments[1]).column.get(),
784
62
                                              result_scale);
785
62
                    }
786
62
                }
787
62
                return true;
788
62
            }
789
790
62
            return false;
791
62
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
62
        column_result.column = std::move(res);
809
62
        return Status::OK();
810
62
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
62
                        uint32_t result, size_t input_rows_count) const override {
721
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
62
        const DataTypePtr result_type = block.get_by_position(result).type;
724
62
        const bool is_col_general_const = is_column_const(*column_general.column);
725
62
        const auto* col_general = is_col_general_const
726
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
16
                                                    .get_data_column_ptr()
728
16
                                                    .get()
729
62
                                          : column_general.column.get();
730
62
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
62
                                column_result.type)) {
749
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
62
                    } else {
751
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
62
                                               "Illegal nullable column");
753
62
                    }
754
62
                } else {
755
62
                    result_scale = column_result.type->get_scale();
756
62
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
62
                    Int16 scale_arg = 0;
764
62
                    if (arguments.size() == 2) {
765
62
                        RETURN_IF_ERROR(
766
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
62
                    }
768
769
62
                    res = Dispatcher<DataType::PType, rounding_mode,
770
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
62
                                                                         result_scale);
772
62
                } else {
773
                    // the SECOND arugment is COLUMN
774
62
                    if (is_col_general_const) {
775
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
62
                                apply_const_vec(
777
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
62
                                        block.get_by_position(arguments[1]).column.get(),
779
62
                                        result_scale);
780
62
                    } else {
781
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
62
                                apply_vec_vec(col_general,
783
62
                                              block.get_by_position(arguments[1]).column.get(),
784
62
                                              result_scale);
785
62
                    }
786
62
                }
787
62
                return true;
788
62
            }
789
790
62
            return false;
791
62
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
62
        column_result.column = std::move(res);
809
62
        return Status::OK();
810
62
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
62
                        uint32_t result, size_t input_rows_count) const override {
721
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
62
        const DataTypePtr result_type = block.get_by_position(result).type;
724
62
        const bool is_col_general_const = is_column_const(*column_general.column);
725
62
        const auto* col_general = is_col_general_const
726
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
15
                                                    .get_data_column_ptr()
728
15
                                                    .get()
729
62
                                          : column_general.column.get();
730
62
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
62
        auto call = [&](const auto& types) -> bool {
739
62
            using Types = std::decay_t<decltype(types)>;
740
62
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
62
            Int16 result_scale = 0;
745
62
            if constexpr (IsDataTypeDecimal<DataType>) {
746
62
                if (column_result.type->is_nullable()) {
747
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
62
                                column_result.type)) {
749
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
62
                    } else {
751
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
62
                                               "Illegal nullable column");
753
62
                    }
754
62
                } else {
755
62
                    result_scale = column_result.type->get_scale();
756
62
                }
757
62
            }
758
759
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
62
                if (arguments.size() == 1 ||
761
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
62
                    Int16 scale_arg = 0;
764
62
                    if (arguments.size() == 2) {
765
62
                        RETURN_IF_ERROR(
766
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
62
                    }
768
769
62
                    res = Dispatcher<DataType::PType, rounding_mode,
770
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
62
                                                                         result_scale);
772
62
                } else {
773
                    // the SECOND arugment is COLUMN
774
62
                    if (is_col_general_const) {
775
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
62
                                apply_const_vec(
777
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
62
                                        block.get_by_position(arguments[1]).column.get(),
779
62
                                        result_scale);
780
62
                    } else {
781
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
62
                                apply_vec_vec(col_general,
783
62
                                              block.get_by_position(arguments[1]).column.get(),
784
62
                                              result_scale);
785
62
                    }
786
62
                }
787
62
                return true;
788
62
            }
789
790
62
            return false;
791
62
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
62
        column_result.column = std::move(res);
809
62
        return Status::OK();
810
62
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
52
                        uint32_t result, size_t input_rows_count) const override {
721
52
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
52
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
52
        const DataTypePtr result_type = block.get_by_position(result).type;
724
52
        const bool is_col_general_const = is_column_const(*column_general.column);
725
52
        const auto* col_general = is_col_general_const
726
52
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
15
                                                    .get_data_column_ptr()
728
15
                                                    .get()
729
52
                                          : column_general.column.get();
730
52
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
52
        auto call = [&](const auto& types) -> bool {
739
52
            using Types = std::decay_t<decltype(types)>;
740
52
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
52
            Int16 result_scale = 0;
745
52
            if constexpr (IsDataTypeDecimal<DataType>) {
746
52
                if (column_result.type->is_nullable()) {
747
52
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
52
                                column_result.type)) {
749
52
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
52
                    } else {
751
52
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
52
                                               "Illegal nullable column");
753
52
                    }
754
52
                } else {
755
52
                    result_scale = column_result.type->get_scale();
756
52
                }
757
52
            }
758
759
52
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
52
                if (arguments.size() == 1 ||
761
52
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
52
                    Int16 scale_arg = 0;
764
52
                    if (arguments.size() == 2) {
765
52
                        RETURN_IF_ERROR(
766
52
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
52
                    }
768
769
52
                    res = Dispatcher<DataType::PType, rounding_mode,
770
52
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
52
                                                                         result_scale);
772
52
                } else {
773
                    // the SECOND arugment is COLUMN
774
52
                    if (is_col_general_const) {
775
52
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
52
                                apply_const_vec(
777
52
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
52
                                        block.get_by_position(arguments[1]).column.get(),
779
52
                                        result_scale);
780
52
                    } else {
781
52
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
52
                                apply_vec_vec(col_general,
783
52
                                              block.get_by_position(arguments[1]).column.get(),
784
52
                                              result_scale);
785
52
                    }
786
52
                }
787
52
                return true;
788
52
            }
789
790
52
            return false;
791
52
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
52
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
52
        column_result.column = std::move(res);
809
52
        return Status::OK();
810
52
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
48
                        uint32_t result, size_t input_rows_count) const override {
721
48
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
48
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
48
        const DataTypePtr result_type = block.get_by_position(result).type;
724
48
        const bool is_col_general_const = is_column_const(*column_general.column);
725
48
        const auto* col_general = is_col_general_const
726
48
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
14
                                                    .get_data_column_ptr()
728
14
                                                    .get()
729
48
                                          : column_general.column.get();
730
48
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
48
        auto call = [&](const auto& types) -> bool {
739
48
            using Types = std::decay_t<decltype(types)>;
740
48
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
48
            Int16 result_scale = 0;
745
48
            if constexpr (IsDataTypeDecimal<DataType>) {
746
48
                if (column_result.type->is_nullable()) {
747
48
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
48
                                column_result.type)) {
749
48
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
48
                    } else {
751
48
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
48
                                               "Illegal nullable column");
753
48
                    }
754
48
                } else {
755
48
                    result_scale = column_result.type->get_scale();
756
48
                }
757
48
            }
758
759
48
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
48
                if (arguments.size() == 1 ||
761
48
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
48
                    Int16 scale_arg = 0;
764
48
                    if (arguments.size() == 2) {
765
48
                        RETURN_IF_ERROR(
766
48
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
48
                    }
768
769
48
                    res = Dispatcher<DataType::PType, rounding_mode,
770
48
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
48
                                                                         result_scale);
772
48
                } else {
773
                    // the SECOND arugment is COLUMN
774
48
                    if (is_col_general_const) {
775
48
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
48
                                apply_const_vec(
777
48
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
48
                                        block.get_by_position(arguments[1]).column.get(),
779
48
                                        result_scale);
780
48
                    } else {
781
48
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
48
                                apply_vec_vec(col_general,
783
48
                                              block.get_by_position(arguments[1]).column.get(),
784
48
                                              result_scale);
785
48
                    }
786
48
                }
787
48
                return true;
788
48
            }
789
790
48
            return false;
791
48
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
48
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
48
        column_result.column = std::move(res);
809
48
        return Status::OK();
810
48
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
42
                        uint32_t result, size_t input_rows_count) const override {
721
42
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
42
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
42
        const DataTypePtr result_type = block.get_by_position(result).type;
724
42
        const bool is_col_general_const = is_column_const(*column_general.column);
725
42
        const auto* col_general = is_col_general_const
726
42
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
7
                                                    .get_data_column_ptr()
728
7
                                                    .get()
729
42
                                          : column_general.column.get();
730
42
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
42
        auto call = [&](const auto& types) -> bool {
739
42
            using Types = std::decay_t<decltype(types)>;
740
42
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
42
            Int16 result_scale = 0;
745
42
            if constexpr (IsDataTypeDecimal<DataType>) {
746
42
                if (column_result.type->is_nullable()) {
747
42
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
42
                                column_result.type)) {
749
42
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
42
                    } else {
751
42
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
42
                                               "Illegal nullable column");
753
42
                    }
754
42
                } else {
755
42
                    result_scale = column_result.type->get_scale();
756
42
                }
757
42
            }
758
759
42
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
42
                if (arguments.size() == 1 ||
761
42
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
42
                    Int16 scale_arg = 0;
764
42
                    if (arguments.size() == 2) {
765
42
                        RETURN_IF_ERROR(
766
42
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
42
                    }
768
769
42
                    res = Dispatcher<DataType::PType, rounding_mode,
770
42
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
42
                                                                         result_scale);
772
42
                } else {
773
                    // the SECOND arugment is COLUMN
774
42
                    if (is_col_general_const) {
775
42
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
42
                                apply_const_vec(
777
42
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
42
                                        block.get_by_position(arguments[1]).column.get(),
779
42
                                        result_scale);
780
42
                    } else {
781
42
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
42
                                apply_vec_vec(col_general,
783
42
                                              block.get_by_position(arguments[1]).column.get(),
784
42
                                              result_scale);
785
42
                    }
786
42
                }
787
42
                return true;
788
42
            }
789
790
42
            return false;
791
42
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
42
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
42
        column_result.column = std::move(res);
809
42
        return Status::OK();
810
42
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
112
                        uint32_t result, size_t input_rows_count) const override {
721
112
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
112
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
112
        const DataTypePtr result_type = block.get_by_position(result).type;
724
112
        const bool is_col_general_const = is_column_const(*column_general.column);
725
112
        const auto* col_general = is_col_general_const
726
112
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
6
                                                    .get_data_column_ptr()
728
6
                                                    .get()
729
112
                                          : column_general.column.get();
730
112
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
112
        auto call = [&](const auto& types) -> bool {
739
112
            using Types = std::decay_t<decltype(types)>;
740
112
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
112
            Int16 result_scale = 0;
745
112
            if constexpr (IsDataTypeDecimal<DataType>) {
746
112
                if (column_result.type->is_nullable()) {
747
112
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
112
                                column_result.type)) {
749
112
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
112
                    } else {
751
112
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
112
                                               "Illegal nullable column");
753
112
                    }
754
112
                } else {
755
112
                    result_scale = column_result.type->get_scale();
756
112
                }
757
112
            }
758
759
112
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
112
                if (arguments.size() == 1 ||
761
112
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
112
                    Int16 scale_arg = 0;
764
112
                    if (arguments.size() == 2) {
765
112
                        RETURN_IF_ERROR(
766
112
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
112
                    }
768
769
112
                    res = Dispatcher<DataType::PType, rounding_mode,
770
112
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
112
                                                                         result_scale);
772
112
                } else {
773
                    // the SECOND arugment is COLUMN
774
112
                    if (is_col_general_const) {
775
112
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
112
                                apply_const_vec(
777
112
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
112
                                        block.get_by_position(arguments[1]).column.get(),
779
112
                                        result_scale);
780
112
                    } else {
781
112
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
112
                                apply_vec_vec(col_general,
783
112
                                              block.get_by_position(arguments[1]).column.get(),
784
112
                                              result_scale);
785
112
                    }
786
112
                }
787
112
                return true;
788
112
            }
789
790
112
            return false;
791
112
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
112
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
112
        column_result.column = std::move(res);
809
112
        return Status::OK();
810
112
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
39
                        uint32_t result, size_t input_rows_count) const override {
721
39
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
39
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
39
        const DataTypePtr result_type = block.get_by_position(result).type;
724
39
        const bool is_col_general_const = is_column_const(*column_general.column);
725
39
        const auto* col_general = is_col_general_const
726
39
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
6
                                                    .get_data_column_ptr()
728
6
                                                    .get()
729
39
                                          : column_general.column.get();
730
39
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
39
        auto call = [&](const auto& types) -> bool {
739
39
            using Types = std::decay_t<decltype(types)>;
740
39
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
39
            Int16 result_scale = 0;
745
39
            if constexpr (IsDataTypeDecimal<DataType>) {
746
39
                if (column_result.type->is_nullable()) {
747
39
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
39
                                column_result.type)) {
749
39
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
39
                    } else {
751
39
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
39
                                               "Illegal nullable column");
753
39
                    }
754
39
                } else {
755
39
                    result_scale = column_result.type->get_scale();
756
39
                }
757
39
            }
758
759
39
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
39
                if (arguments.size() == 1 ||
761
39
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
39
                    Int16 scale_arg = 0;
764
39
                    if (arguments.size() == 2) {
765
39
                        RETURN_IF_ERROR(
766
39
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
39
                    }
768
769
39
                    res = Dispatcher<DataType::PType, rounding_mode,
770
39
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
39
                                                                         result_scale);
772
39
                } else {
773
                    // the SECOND arugment is COLUMN
774
39
                    if (is_col_general_const) {
775
39
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
39
                                apply_const_vec(
777
39
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
39
                                        block.get_by_position(arguments[1]).column.get(),
779
39
                                        result_scale);
780
39
                    } else {
781
39
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
39
                                apply_vec_vec(col_general,
783
39
                                              block.get_by_position(arguments[1]).column.get(),
784
39
                                              result_scale);
785
39
                    }
786
39
                }
787
39
                return true;
788
39
            }
789
790
39
            return false;
791
39
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
39
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
39
        column_result.column = std::move(res);
809
39
        return Status::OK();
810
39
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
32
                        uint32_t result, size_t input_rows_count) const override {
721
32
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
32
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
32
        const DataTypePtr result_type = block.get_by_position(result).type;
724
32
        const bool is_col_general_const = is_column_const(*column_general.column);
725
32
        const auto* col_general = is_col_general_const
726
32
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
6
                                                    .get_data_column_ptr()
728
6
                                                    .get()
729
32
                                          : column_general.column.get();
730
32
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
32
        auto call = [&](const auto& types) -> bool {
739
32
            using Types = std::decay_t<decltype(types)>;
740
32
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
32
            Int16 result_scale = 0;
745
32
            if constexpr (IsDataTypeDecimal<DataType>) {
746
32
                if (column_result.type->is_nullable()) {
747
32
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
32
                                column_result.type)) {
749
32
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
32
                    } else {
751
32
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
32
                                               "Illegal nullable column");
753
32
                    }
754
32
                } else {
755
32
                    result_scale = column_result.type->get_scale();
756
32
                }
757
32
            }
758
759
32
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
32
                if (arguments.size() == 1 ||
761
32
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
32
                    Int16 scale_arg = 0;
764
32
                    if (arguments.size() == 2) {
765
32
                        RETURN_IF_ERROR(
766
32
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
32
                    }
768
769
32
                    res = Dispatcher<DataType::PType, rounding_mode,
770
32
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
32
                                                                         result_scale);
772
32
                } else {
773
                    // the SECOND arugment is COLUMN
774
32
                    if (is_col_general_const) {
775
32
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
32
                                apply_const_vec(
777
32
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
32
                                        block.get_by_position(arguments[1]).column.get(),
779
32
                                        result_scale);
780
32
                    } else {
781
32
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
32
                                apply_vec_vec(col_general,
783
32
                                              block.get_by_position(arguments[1]).column.get(),
784
32
                                              result_scale);
785
32
                    }
786
32
                }
787
32
                return true;
788
32
            }
789
790
32
            return false;
791
32
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
32
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
32
        column_result.column = std::move(res);
809
32
        return Status::OK();
810
32
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
26
                        uint32_t result, size_t input_rows_count) const override {
721
26
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
26
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
26
        const DataTypePtr result_type = block.get_by_position(result).type;
724
26
        const bool is_col_general_const = is_column_const(*column_general.column);
725
26
        const auto* col_general = is_col_general_const
726
26
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
26
                                          : column_general.column.get();
730
26
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
26
        auto call = [&](const auto& types) -> bool {
739
26
            using Types = std::decay_t<decltype(types)>;
740
26
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
26
            Int16 result_scale = 0;
745
26
            if constexpr (IsDataTypeDecimal<DataType>) {
746
26
                if (column_result.type->is_nullable()) {
747
26
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
26
                                column_result.type)) {
749
26
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
26
                    } else {
751
26
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
26
                                               "Illegal nullable column");
753
26
                    }
754
26
                } else {
755
26
                    result_scale = column_result.type->get_scale();
756
26
                }
757
26
            }
758
759
26
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
26
                if (arguments.size() == 1 ||
761
26
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
26
                    Int16 scale_arg = 0;
764
26
                    if (arguments.size() == 2) {
765
26
                        RETURN_IF_ERROR(
766
26
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
26
                    }
768
769
26
                    res = Dispatcher<DataType::PType, rounding_mode,
770
26
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
26
                                                                         result_scale);
772
26
                } else {
773
                    // the SECOND arugment is COLUMN
774
26
                    if (is_col_general_const) {
775
26
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
26
                                apply_const_vec(
777
26
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
26
                                        block.get_by_position(arguments[1]).column.get(),
779
26
                                        result_scale);
780
26
                    } else {
781
26
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
26
                                apply_vec_vec(col_general,
783
26
                                              block.get_by_position(arguments[1]).column.get(),
784
26
                                              result_scale);
785
26
                    }
786
26
                }
787
26
                return true;
788
26
            }
789
790
26
            return false;
791
26
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
26
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
26
        column_result.column = std::move(res);
809
26
        return Status::OK();
810
26
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
30
                        uint32_t result, size_t input_rows_count) const override {
721
30
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
30
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
30
        const DataTypePtr result_type = block.get_by_position(result).type;
724
30
        const bool is_col_general_const = is_column_const(*column_general.column);
725
30
        const auto* col_general = is_col_general_const
726
30
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
1
                                                    .get_data_column_ptr()
728
1
                                                    .get()
729
30
                                          : column_general.column.get();
730
30
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
30
        auto call = [&](const auto& types) -> bool {
739
30
            using Types = std::decay_t<decltype(types)>;
740
30
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
30
            Int16 result_scale = 0;
745
30
            if constexpr (IsDataTypeDecimal<DataType>) {
746
30
                if (column_result.type->is_nullable()) {
747
30
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
30
                                column_result.type)) {
749
30
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
30
                    } else {
751
30
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
30
                                               "Illegal nullable column");
753
30
                    }
754
30
                } else {
755
30
                    result_scale = column_result.type->get_scale();
756
30
                }
757
30
            }
758
759
30
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
30
                if (arguments.size() == 1 ||
761
30
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
30
                    Int16 scale_arg = 0;
764
30
                    if (arguments.size() == 2) {
765
30
                        RETURN_IF_ERROR(
766
30
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
30
                    }
768
769
30
                    res = Dispatcher<DataType::PType, rounding_mode,
770
30
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
30
                                                                         result_scale);
772
30
                } else {
773
                    // the SECOND arugment is COLUMN
774
30
                    if (is_col_general_const) {
775
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
30
                                apply_const_vec(
777
30
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
30
                                        block.get_by_position(arguments[1]).column.get(),
779
30
                                        result_scale);
780
30
                    } else {
781
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
30
                                apply_vec_vec(col_general,
783
30
                                              block.get_by_position(arguments[1]).column.get(),
784
30
                                              result_scale);
785
30
                    }
786
30
                }
787
30
                return true;
788
30
            }
789
790
30
            return false;
791
30
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
30
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
30
        column_result.column = std::move(res);
809
30
        return Status::OK();
810
30
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
198
                        uint32_t result, size_t input_rows_count) const override {
721
198
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
198
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
198
        const DataTypePtr result_type = block.get_by_position(result).type;
724
198
        const bool is_col_general_const = is_column_const(*column_general.column);
725
198
        const auto* col_general = is_col_general_const
726
198
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
198
                                          : column_general.column.get();
730
198
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
198
        auto call = [&](const auto& types) -> bool {
739
198
            using Types = std::decay_t<decltype(types)>;
740
198
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
198
            Int16 result_scale = 0;
745
198
            if constexpr (IsDataTypeDecimal<DataType>) {
746
198
                if (column_result.type->is_nullable()) {
747
198
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
198
                                column_result.type)) {
749
198
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
198
                    } else {
751
198
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
198
                                               "Illegal nullable column");
753
198
                    }
754
198
                } else {
755
198
                    result_scale = column_result.type->get_scale();
756
198
                }
757
198
            }
758
759
198
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
198
                if (arguments.size() == 1 ||
761
198
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
198
                    Int16 scale_arg = 0;
764
198
                    if (arguments.size() == 2) {
765
198
                        RETURN_IF_ERROR(
766
198
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
198
                    }
768
769
198
                    res = Dispatcher<DataType::PType, rounding_mode,
770
198
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
198
                                                                         result_scale);
772
198
                } else {
773
                    // the SECOND arugment is COLUMN
774
198
                    if (is_col_general_const) {
775
198
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
198
                                apply_const_vec(
777
198
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
198
                                        block.get_by_position(arguments[1]).column.get(),
779
198
                                        result_scale);
780
198
                    } else {
781
198
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
198
                                apply_vec_vec(col_general,
783
198
                                              block.get_by_position(arguments[1]).column.get(),
784
198
                                              result_scale);
785
198
                    }
786
198
                }
787
198
                return true;
788
198
            }
789
790
198
            return false;
791
198
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
198
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
198
        column_result.column = std::move(res);
809
198
        return Status::OK();
810
198
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
28
                        uint32_t result, size_t input_rows_count) const override {
721
28
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
28
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
28
        const DataTypePtr result_type = block.get_by_position(result).type;
724
28
        const bool is_col_general_const = is_column_const(*column_general.column);
725
28
        const auto* col_general = is_col_general_const
726
28
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
1
                                                    .get_data_column_ptr()
728
1
                                                    .get()
729
28
                                          : column_general.column.get();
730
28
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
28
        auto call = [&](const auto& types) -> bool {
739
28
            using Types = std::decay_t<decltype(types)>;
740
28
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
28
            Int16 result_scale = 0;
745
28
            if constexpr (IsDataTypeDecimal<DataType>) {
746
28
                if (column_result.type->is_nullable()) {
747
28
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
28
                                column_result.type)) {
749
28
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
28
                    } else {
751
28
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
28
                                               "Illegal nullable column");
753
28
                    }
754
28
                } else {
755
28
                    result_scale = column_result.type->get_scale();
756
28
                }
757
28
            }
758
759
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
28
                if (arguments.size() == 1 ||
761
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
28
                    Int16 scale_arg = 0;
764
28
                    if (arguments.size() == 2) {
765
28
                        RETURN_IF_ERROR(
766
28
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
28
                    }
768
769
28
                    res = Dispatcher<DataType::PType, rounding_mode,
770
28
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
28
                                                                         result_scale);
772
28
                } else {
773
                    // the SECOND arugment is COLUMN
774
28
                    if (is_col_general_const) {
775
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
28
                                apply_const_vec(
777
28
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
28
                                        block.get_by_position(arguments[1]).column.get(),
779
28
                                        result_scale);
780
28
                    } else {
781
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
28
                                apply_vec_vec(col_general,
783
28
                                              block.get_by_position(arguments[1]).column.get(),
784
28
                                              result_scale);
785
28
                    }
786
28
                }
787
28
                return true;
788
28
            }
789
790
28
            return false;
791
28
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
28
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
28
        column_result.column = std::move(res);
809
28
        return Status::OK();
810
28
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
22
                        uint32_t result, size_t input_rows_count) const override {
721
22
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
22
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
22
        const DataTypePtr result_type = block.get_by_position(result).type;
724
22
        const bool is_col_general_const = is_column_const(*column_general.column);
725
22
        const auto* col_general = is_col_general_const
726
22
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
22
                                          : column_general.column.get();
730
22
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
22
        auto call = [&](const auto& types) -> bool {
739
22
            using Types = std::decay_t<decltype(types)>;
740
22
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
22
            Int16 result_scale = 0;
745
22
            if constexpr (IsDataTypeDecimal<DataType>) {
746
22
                if (column_result.type->is_nullable()) {
747
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
22
                                column_result.type)) {
749
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
22
                    } else {
751
22
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
22
                                               "Illegal nullable column");
753
22
                    }
754
22
                } else {
755
22
                    result_scale = column_result.type->get_scale();
756
22
                }
757
22
            }
758
759
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
22
                if (arguments.size() == 1 ||
761
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
22
                    Int16 scale_arg = 0;
764
22
                    if (arguments.size() == 2) {
765
22
                        RETURN_IF_ERROR(
766
22
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
22
                    }
768
769
22
                    res = Dispatcher<DataType::PType, rounding_mode,
770
22
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
22
                                                                         result_scale);
772
22
                } else {
773
                    // the SECOND arugment is COLUMN
774
22
                    if (is_col_general_const) {
775
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
22
                                apply_const_vec(
777
22
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
22
                                        block.get_by_position(arguments[1]).column.get(),
779
22
                                        result_scale);
780
22
                    } else {
781
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
22
                                apply_vec_vec(col_general,
783
22
                                              block.get_by_position(arguments[1]).column.get(),
784
22
                                              result_scale);
785
22
                    }
786
22
                }
787
22
                return true;
788
22
            }
789
790
22
            return false;
791
22
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
22
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
22
        column_result.column = std::move(res);
809
22
        return Status::OK();
810
22
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
1
                        uint32_t result, size_t input_rows_count) const override {
721
1
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
1
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
1
        const DataTypePtr result_type = block.get_by_position(result).type;
724
1
        const bool is_col_general_const = is_column_const(*column_general.column);
725
1
        const auto* col_general = is_col_general_const
726
1
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
1
                                          : column_general.column.get();
730
1
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
1
        auto call = [&](const auto& types) -> bool {
739
1
            using Types = std::decay_t<decltype(types)>;
740
1
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
1
            Int16 result_scale = 0;
745
1
            if constexpr (IsDataTypeDecimal<DataType>) {
746
1
                if (column_result.type->is_nullable()) {
747
1
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
1
                                column_result.type)) {
749
1
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
1
                    } else {
751
1
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
1
                                               "Illegal nullable column");
753
1
                    }
754
1
                } else {
755
1
                    result_scale = column_result.type->get_scale();
756
1
                }
757
1
            }
758
759
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
1
                if (arguments.size() == 1 ||
761
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
1
                    Int16 scale_arg = 0;
764
1
                    if (arguments.size() == 2) {
765
1
                        RETURN_IF_ERROR(
766
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
1
                    }
768
769
1
                    res = Dispatcher<DataType::PType, rounding_mode,
770
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
1
                                                                         result_scale);
772
1
                } else {
773
                    // the SECOND arugment is COLUMN
774
1
                    if (is_col_general_const) {
775
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
1
                                apply_const_vec(
777
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
1
                                        block.get_by_position(arguments[1]).column.get(),
779
1
                                        result_scale);
780
1
                    } else {
781
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
1
                                apply_vec_vec(col_general,
783
1
                                              block.get_by_position(arguments[1]).column.get(),
784
1
                                              result_scale);
785
1
                    }
786
1
                }
787
1
                return true;
788
1
            }
789
790
1
            return false;
791
1
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
1
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
1
        column_result.column = std::move(res);
809
1
        return Status::OK();
810
1
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
13
                        uint32_t result, size_t input_rows_count) const override {
721
13
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
13
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
13
        const DataTypePtr result_type = block.get_by_position(result).type;
724
13
        const bool is_col_general_const = is_column_const(*column_general.column);
725
13
        const auto* col_general = is_col_general_const
726
13
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
13
                                          : column_general.column.get();
730
13
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
13
        auto call = [&](const auto& types) -> bool {
739
13
            using Types = std::decay_t<decltype(types)>;
740
13
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
13
            Int16 result_scale = 0;
745
13
            if constexpr (IsDataTypeDecimal<DataType>) {
746
13
                if (column_result.type->is_nullable()) {
747
13
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
13
                                column_result.type)) {
749
13
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
13
                    } else {
751
13
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
13
                                               "Illegal nullable column");
753
13
                    }
754
13
                } else {
755
13
                    result_scale = column_result.type->get_scale();
756
13
                }
757
13
            }
758
759
13
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
13
                if (arguments.size() == 1 ||
761
13
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
13
                    Int16 scale_arg = 0;
764
13
                    if (arguments.size() == 2) {
765
13
                        RETURN_IF_ERROR(
766
13
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
13
                    }
768
769
13
                    res = Dispatcher<DataType::PType, rounding_mode,
770
13
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
13
                                                                         result_scale);
772
13
                } else {
773
                    // the SECOND arugment is COLUMN
774
13
                    if (is_col_general_const) {
775
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
13
                                apply_const_vec(
777
13
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
13
                                        block.get_by_position(arguments[1]).column.get(),
779
13
                                        result_scale);
780
13
                    } else {
781
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
13
                                apply_vec_vec(col_general,
783
13
                                              block.get_by_position(arguments[1]).column.get(),
784
13
                                              result_scale);
785
13
                    }
786
13
                }
787
13
                return true;
788
13
            }
789
790
13
            return false;
791
13
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
13
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
13
        column_result.column = std::move(res);
809
13
        return Status::OK();
810
13
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
1
                        uint32_t result, size_t input_rows_count) const override {
721
1
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
1
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
1
        const DataTypePtr result_type = block.get_by_position(result).type;
724
1
        const bool is_col_general_const = is_column_const(*column_general.column);
725
1
        const auto* col_general = is_col_general_const
726
1
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
1
                                          : column_general.column.get();
730
1
        ColumnPtr res;
731
732
        /// potential argument types:
733
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
734
        ///    1. func(Column), func(Column, ColumnConst)
735
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
736
        ///    2. func(Column, Column), func(ColumnConst, Column)
737
738
1
        auto call = [&](const auto& types) -> bool {
739
1
            using Types = std::decay_t<decltype(types)>;
740
1
            using DataType = typename Types::LeftType;
741
742
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
743
            // arguments from query plan.
744
1
            Int16 result_scale = 0;
745
1
            if constexpr (IsDataTypeDecimal<DataType>) {
746
1
                if (column_result.type->is_nullable()) {
747
1
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
1
                                column_result.type)) {
749
1
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
1
                    } else {
751
1
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
1
                                               "Illegal nullable column");
753
1
                    }
754
1
                } else {
755
1
                    result_scale = column_result.type->get_scale();
756
1
                }
757
1
            }
758
759
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
1
                if (arguments.size() == 1 ||
761
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
1
                    Int16 scale_arg = 0;
764
1
                    if (arguments.size() == 2) {
765
1
                        RETURN_IF_ERROR(
766
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
1
                    }
768
769
1
                    res = Dispatcher<DataType::PType, rounding_mode,
770
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
1
                                                                         result_scale);
772
1
                } else {
773
                    // the SECOND arugment is COLUMN
774
1
                    if (is_col_general_const) {
775
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
1
                                apply_const_vec(
777
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
1
                                        block.get_by_position(arguments[1]).column.get(),
779
1
                                        result_scale);
780
1
                    } else {
781
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
1
                                apply_vec_vec(col_general,
783
1
                                              block.get_by_position(arguments[1]).column.get(),
784
1
                                              result_scale);
785
1
                    }
786
1
                }
787
1
                return true;
788
1
            }
789
790
1
            return false;
791
1
        };
792
793
#if !defined(__SSE4_1__) && !defined(__aarch64__)
794
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
795
        /// Actually it is by default. But we will set it just in case.
796
        if constexpr (rounding_mode == RoundingMode::Round) {
797
            if (0 != fesetround(FE_TONEAREST)) {
798
                return Status::InvalidArgument("Cannot set floating point rounding mode");
799
            }
800
        }
801
#endif
802
803
1
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
804
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
805
0
                                           column_general.type->get_name(), name);
806
0
        }
807
808
1
        column_result.column = std::move(res);
809
1
        return Status::OK();
810
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
811
};
812
813
struct TruncateName {
814
    static constexpr auto name = "truncate";
815
};
816
817
struct FloorName {
818
    static constexpr auto name = "floor";
819
};
820
821
struct CeilName {
822
    static constexpr auto name = "ceil";
823
};
824
825
struct RoundName {
826
    static constexpr auto name = "round";
827
};
828
829
struct RoundBankersName {
830
    static constexpr auto name = "round_bankers";
831
};
832
833
/// round(double,int32)-->double
834
/// key_str:roundFloat64Int32
835
template <typename Name>
836
struct DoubleRoundTwoImpl {
837
    static constexpr auto name = Name::name;
838
839
40
    static DataTypes get_variadic_argument_types() {
840
40
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
40
    }
_ZN5doris18DoubleRoundTwoImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
8
    static DataTypes get_variadic_argument_types() {
840
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
8
    }
_ZN5doris18DoubleRoundTwoImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
8
    static DataTypes get_variadic_argument_types() {
840
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
8
    }
_ZN5doris18DoubleRoundTwoImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
8
    static DataTypes get_variadic_argument_types() {
840
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
8
    }
_ZN5doris18DoubleRoundTwoImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
8
    static DataTypes get_variadic_argument_types() {
840
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
8
    }
_ZN5doris18DoubleRoundTwoImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
8
    static DataTypes get_variadic_argument_types() {
840
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
8
    }
842
};
843
844
template <typename Name>
845
struct DoubleRoundOneImpl {
846
    static constexpr auto name = Name::name;
847
848
40
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
849
};
850
851
template <typename Name, PrimitiveType Type>
852
struct DecimalRoundTwoImpl {
853
    static constexpr auto name = Name::name;
854
855
160
    static DataTypes get_variadic_argument_types() {
856
160
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
160
                std::make_shared<DataTypeInt32>()};
858
160
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
8
    static DataTypes get_variadic_argument_types() {
856
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
8
                std::make_shared<DataTypeInt32>()};
858
8
    }
859
};
860
861
template <typename Name, PrimitiveType Type>
862
struct DecimalRoundOneImpl {
863
    static constexpr auto name = Name::name;
864
865
160
    static DataTypes get_variadic_argument_types() {
866
160
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
160
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() {
866
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
8
    }
868
};
869
#include "common/compile_check_avoid_end.h"
870
} // namespace doris