Coverage Report

Created: 2026-09-29 06:08

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
6.95k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
6.95k
        T quotient = x / scale;
113
6.95k
        const T remainder = x - quotient * scale;
114
115
6.95k
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
982
            return target_scale > 1 ? quotient * target_scale : quotient;
117
982
        }
118
2.16k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
2.16k
            if (remainder < 0) {
120
14
                --quotient;
121
14
            }
122
2.16k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
2.16k
        }
124
1.22k
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
1.22k
            if (remainder > 0) {
126
1.03k
                ++quotient;
127
1.03k
            }
128
1.22k
            return target_scale > 1 ? quotient * target_scale : quotient;
129
1.22k
        }
130
2.58k
        if constexpr (rounding_mode == RoundingMode::Round) {
131
2.58k
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
2.58k
            const T remainder_complement = scale - abs_remainder;
133
2.58k
            const T carry = remainder < 0 ? -1 : 1;
134
2.58k
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
1.54k
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
508
                    quotient += carry;
137
508
                }
138
1.54k
            }
139
2.58k
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
1.04k
                if (remainder != 0 &&
141
1.04k
                    (abs_remainder > remainder_complement ||
142
959
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
394
                    quotient += carry;
144
394
                }
145
1.04k
            }
146
2.58k
            return target_scale > 1 ? quotient * target_scale : quotient;
147
2.58k
        }
148
6.95k
    }
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
537
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
537
        T quotient = x / scale;
113
537
        const T remainder = x - quotient * scale;
114
115
537
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
537
            return target_scale > 1 ? quotient * target_scale : quotient;
117
537
        }
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
537
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
405
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
405
        T quotient = x / scale;
113
405
        const T remainder = x - quotient * scale;
114
115
405
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
405
            return target_scale > 1 ? quotient * target_scale : quotient;
117
405
        }
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
405
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
40
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
40
        T quotient = x / scale;
113
40
        const T remainder = x - quotient * scale;
114
115
40
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
40
            return target_scale > 1 ? quotient * target_scale : quotient;
117
40
        }
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
40
    }
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
610
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
610
        T quotient = x / scale;
113
610
        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
610
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
610
            if (remainder < 0) {
120
7
                --quotient;
121
7
            }
122
610
            return target_scale > 1 ? quotient * target_scale : quotient;
123
610
        }
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
610
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
1.43k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1.43k
        T quotient = x / scale;
113
1.43k
        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.43k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1.43k
            if (remainder < 0) {
120
0
                --quotient;
121
0
            }
122
1.43k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1.43k
        }
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.43k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
122
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
122
        T quotient = x / scale;
113
122
        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
122
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
122
            if (remainder < 0) {
120
5
                --quotient;
121
5
            }
122
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
122
        }
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
122
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
2
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
2
        T quotient = x / scale;
113
2
        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
2
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
2
            if (remainder < 0) {
120
2
                --quotient;
121
2
            }
122
2
            return target_scale > 1 ? quotient * target_scale : quotient;
123
2
        }
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
2
    }
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
608
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
608
        T quotient = x / scale;
113
608
        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
608
        if constexpr (rounding_mode == RoundingMode::Round) {
131
608
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
608
            const T remainder_complement = scale - abs_remainder;
133
608
            const T carry = remainder < 0 ? -1 : 1;
134
608
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
608
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
226
                    quotient += carry;
137
226
                }
138
608
            }
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
608
            return target_scale > 1 ? quotient * target_scale : quotient;
147
608
        }
148
608
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
564
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
564
        T quotient = x / scale;
113
564
        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
564
        if constexpr (rounding_mode == RoundingMode::Round) {
131
564
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
564
            const T remainder_complement = scale - abs_remainder;
133
564
            const T carry = remainder < 0 ? -1 : 1;
134
564
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
564
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
234
                    quotient += carry;
137
234
                }
138
564
            }
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
564
            return target_scale > 1 ? quotient * target_scale : quotient;
147
564
        }
148
564
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
369
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
369
        T quotient = x / scale;
113
369
        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
369
        if constexpr (rounding_mode == RoundingMode::Round) {
131
369
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
369
            const T remainder_complement = scale - abs_remainder;
133
369
            const T carry = remainder < 0 ? -1 : 1;
134
369
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
369
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
48
                    quotient += carry;
137
48
                }
138
369
            }
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
369
            return target_scale > 1 ? quotient * target_scale : quotient;
147
369
        }
148
369
    }
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
608
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
608
        T quotient = x / scale;
113
608
        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
608
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
608
            if (remainder > 0) {
126
546
                ++quotient;
127
546
            }
128
608
            return target_scale > 1 ? quotient * target_scale : quotient;
129
608
        }
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
608
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
484
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
484
        T quotient = x / scale;
113
484
        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
484
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
484
            if (remainder > 0) {
126
419
                ++quotient;
127
419
            }
128
484
            return target_scale > 1 ? quotient * target_scale : quotient;
129
484
        }
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
484
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
129
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
129
        T quotient = x / scale;
113
129
        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
129
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
129
            if (remainder > 0) {
126
69
                ++quotient;
127
69
            }
128
129
            return target_scale > 1 ? quotient * target_scale : quotient;
129
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
129
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
2
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
2
        T quotient = x / scale;
113
2
        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
2
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
2
            if (remainder > 0) {
126
2
                ++quotient;
127
2
            }
128
2
            return target_scale > 1 ? quotient * target_scale : quotient;
129
2
        }
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
2
    }
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
561
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
561
        T quotient = x / scale;
113
561
        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
561
        if constexpr (rounding_mode == RoundingMode::Round) {
131
561
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
561
            const T remainder_complement = scale - abs_remainder;
133
561
            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
561
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
561
                if (remainder != 0 &&
141
561
                    (abs_remainder > remainder_complement ||
142
533
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
213
                    quotient += carry;
144
213
                }
145
561
            }
146
561
            return target_scale > 1 ? quotient * target_scale : quotient;
147
561
        }
148
561
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE12compute_implElll
Line
Count
Source
111
419
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
419
        T quotient = x / scale;
113
419
        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
419
        if constexpr (rounding_mode == RoundingMode::Round) {
131
419
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
419
            const T remainder_complement = scale - abs_remainder;
133
419
            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
419
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
419
                if (remainder != 0 &&
141
419
                    (abs_remainder > remainder_complement ||
142
391
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
170
                    quotient += carry;
144
170
                }
145
419
            }
146
419
            return target_scale > 1 ? quotient * target_scale : quotient;
147
419
        }
148
419
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
Line
Count
Source
111
63
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
63
        T quotient = x / scale;
113
63
        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
63
        if constexpr (rounding_mode == RoundingMode::Round) {
131
63
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
63
            const T remainder_complement = scale - abs_remainder;
133
63
            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
63
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
63
                if (remainder != 0 &&
141
63
                    (abs_remainder > remainder_complement ||
142
35
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
11
                    quotient += carry;
144
11
                }
145
63
            }
146
63
            return target_scale > 1 ? quotient * target_scale : quotient;
147
63
        }
148
63
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
149
150
6.95k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
6.95k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
6.95k
            return compute_impl(x, scale, target_scale);
153
6.95k
        }
154
0
        return x;
155
6.95k
    }
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
537
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
537
        if constexpr (scale_mode == ScaleMode::Negative) {
152
537
            return compute_impl(x, scale, target_scale);
153
537
        }
154
0
        return x;
155
537
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
405
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
405
        if constexpr (scale_mode == ScaleMode::Negative) {
152
405
            return compute_impl(x, scale, target_scale);
153
405
        }
154
0
        return x;
155
405
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
40
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
40
        if constexpr (scale_mode == ScaleMode::Negative) {
152
40
            return compute_impl(x, scale, target_scale);
153
40
        }
154
0
        return x;
155
40
    }
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
610
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
610
        if constexpr (scale_mode == ScaleMode::Negative) {
152
610
            return compute_impl(x, scale, target_scale);
153
610
        }
154
0
        return x;
155
610
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
1.43k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1.43k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1.43k
            return compute_impl(x, scale, target_scale);
153
1.43k
        }
154
0
        return x;
155
1.43k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
122
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
122
        if constexpr (scale_mode == ScaleMode::Negative) {
152
122
            return compute_impl(x, scale, target_scale);
153
122
        }
154
0
        return x;
155
122
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
2
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
2
        if constexpr (scale_mode == ScaleMode::Negative) {
152
2
            return compute_impl(x, scale, target_scale);
153
2
        }
154
0
        return x;
155
2
    }
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
608
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
608
        if constexpr (scale_mode == ScaleMode::Negative) {
152
608
            return compute_impl(x, scale, target_scale);
153
608
        }
154
0
        return x;
155
608
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
564
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
564
        if constexpr (scale_mode == ScaleMode::Negative) {
152
564
            return compute_impl(x, scale, target_scale);
153
564
        }
154
0
        return x;
155
564
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
369
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
369
        if constexpr (scale_mode == ScaleMode::Negative) {
152
369
            return compute_impl(x, scale, target_scale);
153
369
        }
154
0
        return x;
155
369
    }
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
608
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
608
        if constexpr (scale_mode == ScaleMode::Negative) {
152
608
            return compute_impl(x, scale, target_scale);
153
608
        }
154
0
        return x;
155
608
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
484
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
484
        if constexpr (scale_mode == ScaleMode::Negative) {
152
484
            return compute_impl(x, scale, target_scale);
153
484
        }
154
0
        return x;
155
484
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
129
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
129
        if constexpr (scale_mode == ScaleMode::Negative) {
152
129
            return compute_impl(x, scale, target_scale);
153
129
        }
154
0
        return x;
155
129
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
2
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
2
        if constexpr (scale_mode == ScaleMode::Negative) {
152
2
            return compute_impl(x, scale, target_scale);
153
2
        }
154
0
        return x;
155
2
    }
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
561
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
561
        if constexpr (scale_mode == ScaleMode::Negative) {
152
561
            return compute_impl(x, scale, target_scale);
153
561
        }
154
0
        return x;
155
561
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeElll
Line
Count
Source
150
419
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
419
        if constexpr (scale_mode == ScaleMode::Negative) {
152
419
            return compute_impl(x, scale, target_scale);
153
419
        }
154
0
        return x;
155
419
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
Line
Count
Source
150
63
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
63
        if constexpr (scale_mode == ScaleMode::Negative) {
152
63
            return compute_impl(x, scale, target_scale);
153
63
        }
154
0
        return x;
155
63
    }
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
8.19k
                                      U target_scale) {
159
8.19k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
8.19k
            if (scale >= std::numeric_limits<T>::max()) {
161
1.24k
                if constexpr (!is_decimal(Type)) {
162
0
                    *out = 0;
163
1.24k
                } 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.24k
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
1.24k
                        *out = T(0);
168
1.24k
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
2
                        *out = *in < 0 ? -target_scale : T(0);
170
2
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
2
                        *out = *in > 0 ? target_scale : T(0);
172
2
                    } else {
173
1
                        *out = T(0);
174
1
                    }
175
1.24k
                }
176
1.24k
                return;
177
1.24k
            }
178
8.19k
        }
179
6.95k
        *out = compute(*in, scale, target_scale);
180
8.19k
    }
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
769
                                      U target_scale) {
159
769
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
769
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
232
                } 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
232
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
232
                        *out = T(0);
168
232
                    } 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
232
                }
176
232
                return;
177
232
            }
178
769
        }
179
537
        *out = compute(*in, scale, target_scale);
180
769
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
421
                                      U target_scale) {
159
421
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
421
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
16
                } 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
16
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
16
                        *out = T(0);
168
16
                    } 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
16
                }
176
16
                return;
177
16
            }
178
421
        }
179
405
        *out = compute(*in, scale, target_scale);
180
421
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
40
                                      U target_scale) {
159
40
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
40
            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
40
        }
179
40
        *out = compute(*in, scale, target_scale);
180
40
    }
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
844
                                      U target_scale) {
159
844
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
844
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
234
                } 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
234
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
232
                        *out = T(0);
168
232
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
2
                        *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
234
                }
176
234
                return;
177
234
            }
178
844
        }
179
610
        *out = compute(*in, scale, target_scale);
180
844
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
1.44k
                                      U target_scale) {
159
1.44k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1.44k
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
16
                } 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
16
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
16
                        *out = T(0);
168
16
                    } 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
16
                }
176
16
                return;
177
16
            }
178
1.44k
        }
179
1.43k
        *out = compute(*in, scale, target_scale);
180
1.44k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
122
                                      U target_scale) {
159
122
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
122
            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
122
        }
179
122
        *out = compute(*in, scale, target_scale);
180
122
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
2
                                      U target_scale) {
159
2
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
2
            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
2
        }
179
2
        *out = compute(*in, scale, target_scale);
180
2
    }
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
840
                                      U target_scale) {
159
840
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
840
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
232
                } 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
232
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
232
                        *out = T(0);
168
232
                    } 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
232
                }
176
232
                return;
177
232
            }
178
840
        }
179
608
        *out = compute(*in, scale, target_scale);
180
840
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
580
                                      U target_scale) {
159
580
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
580
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
16
                } 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
16
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
16
                        *out = T(0);
168
16
                    } 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
16
                }
176
16
                return;
177
16
            }
178
580
        }
179
564
        *out = compute(*in, scale, target_scale);
180
580
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
370
                                      U target_scale) {
159
370
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
370
            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
370
        }
179
369
        *out = compute(*in, scale, target_scale);
180
370
    }
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
842
                                      U target_scale) {
159
842
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
842
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
234
                } 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
234
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
232
                        *out = T(0);
168
232
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
169
                        *out = *in < 0 ? -target_scale : T(0);
170
2
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
171
2
                        *out = *in > 0 ? target_scale : T(0);
172
                    } else {
173
                        *out = T(0);
174
                    }
175
234
                }
176
234
                return;
177
234
            }
178
842
        }
179
608
        *out = compute(*in, scale, target_scale);
180
842
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
500
                                      U target_scale) {
159
500
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
500
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
16
                } 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
16
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
16
                        *out = T(0);
168
16
                    } 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
16
                }
176
16
                return;
177
16
            }
178
500
        }
179
484
        *out = compute(*in, scale, target_scale);
180
500
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
129
                                      U target_scale) {
159
129
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
129
            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
129
        }
179
129
        *out = compute(*in, scale, target_scale);
180
129
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
2
                                      U target_scale) {
159
2
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
2
            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
2
        }
179
2
        *out = compute(*in, scale, target_scale);
180
2
    }
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
793
                                      U target_scale) {
159
793
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
793
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
232
                } 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
232
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
232
                        *out = T(0);
168
232
                    } 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
232
                }
176
232
                return;
177
232
            }
178
793
        }
179
561
        *out = compute(*in, scale, target_scale);
180
793
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeEPKllPll
Line
Count
Source
158
435
                                      U target_scale) {
159
435
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
435
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
16
                } 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
16
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
16
                        *out = T(0);
168
16
                    } 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
16
                }
176
16
                return;
177
16
            }
178
435
        }
179
419
        *out = compute(*in, scale, target_scale);
180
435
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
Line
Count
Source
158
63
                                      U target_scale) {
159
63
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
63
            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
63
        }
179
63
        *out = compute(*in, scale, target_scale);
180
63
    }
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.56k
                                Int16 out_scale, Int16 result_scale) {
195
1.56k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
1.56k
        if (scale_arg > 0) {
197
907
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
907
            auto target_scale =
199
907
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
907
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
907
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
907
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
3.52k
            while (p_in < end_in) {
206
2.61k
                Op::compute(p_in, scale, p_out, target_scale);
207
2.61k
                ++p_in;
208
2.61k
                ++p_out;
209
2.61k
            }
210
907
        } else {
211
659
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
659
        }
213
1.56k
    }
_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
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
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
51
                                Int16 out_scale, Int16 result_scale) {
195
51
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
51
        if (scale_arg > 0) {
197
47
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
47
            auto target_scale =
199
47
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
47
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
47
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
47
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
162
            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
47
        } else {
211
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
4
        }
213
51
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
194
240
                                Int16 out_scale, Int16 result_scale) {
195
240
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
240
        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
23
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
23
        }
213
240
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_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
162
            while (p_in < end_in) {
206
116
                Op::compute(p_in, scale, p_out, target_scale);
207
116
                ++p_in;
208
116
                ++p_out;
209
116
            }
210
46
        } else {
211
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
4
        }
213
50
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
2
                                Int16 out_scale, Int16 result_scale) {
195
2
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
2
        if (scale_arg > 0) {
197
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
2
            auto target_scale =
199
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
2
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
2
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
2
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
4
            while (p_in < end_in) {
206
2
                Op::compute(p_in, scale, p_out, target_scale);
207
2
                ++p_in;
208
2
                ++p_out;
209
2
            }
210
2
        } else {
211
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
0
        }
213
2
    }
_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
675
                                Int16 out_scale, Int16 result_scale) {
195
675
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
675
        if (scale_arg > 0) {
197
176
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
176
            auto target_scale =
199
176
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
176
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
176
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
176
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
542
            while (p_in < end_in) {
206
366
                Op::compute(p_in, scale, p_out, target_scale);
207
366
                ++p_in;
208
366
                ++p_out;
209
366
            }
210
499
        } else {
211
499
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
499
        }
213
675
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
12
                                Int16 out_scale, Int16 result_scale) {
195
12
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
12
        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
12
        } else {
211
12
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
12
        }
213
12
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
194
46
                                Int16 out_scale, Int16 result_scale) {
195
46
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
46
        if (scale_arg > 0) {
197
44
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
44
            auto target_scale =
199
44
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
44
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
44
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
44
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
156
            while (p_in < end_in) {
206
112
                Op::compute(p_in, scale, p_out, target_scale);
207
112
                ++p_in;
208
112
                ++p_out;
209
112
            }
210
44
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
46
    }
_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
55
                                Int16 out_scale, Int16 result_scale) {
195
55
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
55
        if (scale_arg > 0) {
197
53
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
53
            auto target_scale =
199
53
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
53
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
53
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
53
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
176
            while (p_in < end_in) {
206
123
                Op::compute(p_in, scale, p_out, target_scale);
207
123
                ++p_in;
208
123
                ++p_out;
209
123
            }
210
53
        } else {
211
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
2
        }
213
55
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
194
2
                                Int16 out_scale, Int16 result_scale) {
195
2
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
196
2
        if (scale_arg > 0) {
197
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
2
            auto target_scale =
199
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
2
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
2
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
2
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
4
            while (p_in < end_in) {
206
2
                Op::compute(p_in, scale, p_out, target_scale);
207
2
                ++p_in;
208
2
                ++p_out;
209
2
            }
210
2
        } else {
211
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
0
        }
213
2
    }
_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
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
27
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
198
27
            auto target_scale =
199
27
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
200
201
27
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
202
27
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
203
27
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
204
205
88
            while (p_in < end_in) {
206
61
                Op::compute(p_in, scale, p_out, target_scale);
207
61
                ++p_in;
208
61
                ++p_out;
209
61
            }
210
27
        } else {
211
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
212
3
        }
213
30
    }
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
8.68k
                                Int16 out_scale, Int16 result_scale) {
217
8.68k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
8.68k
        if (scale_arg > 0) {
219
5.58k
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
5.58k
            auto target_scale =
221
5.58k
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
5.58k
            Op::compute(&in, scale, &out, target_scale);
223
5.58k
        } else {
224
3.09k
            memcpy(&out, &in, sizeof(NativeType));
225
3.09k
        }
226
8.68k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
1.12k
                                Int16 out_scale, Int16 result_scale) {
217
1.12k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
1.12k
        if (scale_arg > 0) {
219
731
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
731
            auto target_scale =
221
731
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
731
            Op::compute(&in, scale, &out, target_scale);
223
731
        } else {
224
394
            memcpy(&out, &in, sizeof(NativeType));
225
394
        }
226
1.12k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
606
                                Int16 out_scale, Int16 result_scale) {
217
606
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
606
        if (scale_arg > 0) {
219
386
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
386
            auto target_scale =
221
386
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
386
            Op::compute(&in, scale, &out, target_scale);
223
386
        } else {
224
220
            memcpy(&out, &in, sizeof(NativeType));
225
220
        }
226
606
    }
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
1.12k
                                Int16 out_scale, Int16 result_scale) {
217
1.12k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
1.12k
        if (scale_arg > 0) {
219
729
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
729
            auto target_scale =
221
729
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
729
            Op::compute(&in, scale, &out, target_scale);
223
729
        } else {
224
398
            memcpy(&out, &in, sizeof(NativeType));
225
398
        }
226
1.12k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
605
                                Int16 out_scale, Int16 result_scale) {
217
605
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
605
        if (scale_arg > 0) {
219
383
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
383
            auto target_scale =
221
383
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
383
            Op::compute(&in, scale, &out, target_scale);
223
383
        } else {
224
222
            memcpy(&out, &in, sizeof(NativeType));
225
222
        }
226
605
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
8
                                Int16 out_scale, Int16 result_scale) {
217
8
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
8
        if (scale_arg > 0) {
219
6
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
6
            auto target_scale =
221
6
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
6
            Op::compute(&in, scale, &out, target_scale);
223
6
        } else {
224
2
            memcpy(&out, &in, sizeof(NativeType));
225
2
        }
226
8
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
216
1.12k
                                Int16 out_scale, Int16 result_scale) {
217
1.12k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
1.12k
        if (scale_arg > 0) {
219
731
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
731
            auto target_scale =
221
731
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
731
            Op::compute(&in, scale, &out, target_scale);
223
731
        } else {
224
396
            memcpy(&out, &in, sizeof(NativeType));
225
396
        }
226
1.12k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
604
                                Int16 out_scale, Int16 result_scale) {
217
604
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
604
        if (scale_arg > 0) {
219
382
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
382
            auto target_scale =
221
382
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
382
            Op::compute(&in, scale, &out, target_scale);
223
382
        } else {
224
222
            memcpy(&out, &in, sizeof(NativeType));
225
222
        }
226
604
    }
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
1.12k
                                Int16 out_scale, Int16 result_scale) {
217
1.12k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
1.12k
        if (scale_arg > 0) {
219
730
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
730
            auto target_scale =
221
730
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
730
            Op::compute(&in, scale, &out, target_scale);
223
730
        } else {
224
398
            memcpy(&out, &in, sizeof(NativeType));
225
398
        }
226
1.12k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
216
603
                                Int16 out_scale, Int16 result_scale) {
217
603
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
603
        if (scale_arg > 0) {
219
381
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
381
            auto target_scale =
221
381
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
381
            Op::compute(&in, scale, &out, target_scale);
223
381
        } else {
224
222
            memcpy(&out, &in, sizeof(NativeType));
225
222
        }
226
603
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
216
7
                                Int16 out_scale, Int16 result_scale) {
217
7
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
7
        if (scale_arg > 0) {
219
6
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
6
            auto target_scale =
221
6
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
6
            Op::compute(&in, scale, &out, target_scale);
223
6
        } else {
224
1
            memcpy(&out, &in, sizeof(NativeType));
225
1
        }
226
7
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKijRiss
Line
Count
Source
216
1.12k
                                Int16 out_scale, Int16 result_scale) {
217
1.12k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
1.12k
        if (scale_arg > 0) {
219
730
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
730
            auto target_scale =
221
730
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
730
            Op::compute(&in, scale, &out, target_scale);
223
730
        } else {
224
396
            memcpy(&out, &in, sizeof(NativeType));
225
396
        }
226
1.12k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKljRlss
Line
Count
Source
216
604
                                Int16 out_scale, Int16 result_scale) {
217
604
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
218
604
        if (scale_arg > 0) {
219
382
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
220
382
            auto target_scale =
221
382
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
222
382
            Op::compute(&in, scale, &out, target_scale);
223
382
        } else {
224
222
            memcpy(&out, &in, sizeof(NativeType));
225
222
        }
226
604
    }
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
88
inline float roundWithMode(float x, RoundingMode mode) {
231
88
    switch (mode) {
232
40
    case RoundingMode::Round: {
233
40
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
20
            return nearbyintf(x);
235
20
        } else {
236
20
            return roundf(x);
237
20
        }
238
40
    }
239
56
    case RoundingMode::Floor:
240
56
        return floorf(x);
241
16
    case RoundingMode::Ceil:
242
16
        return ceilf(x);
243
16
    case RoundingMode::Trunc:
244
16
        return truncf(x);
245
88
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
88
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEffNS_12RoundingModeE
Line
Count
Source
230
68
inline float roundWithMode(float x, RoundingMode mode) {
231
68
    switch (mode) {
232
20
    case RoundingMode::Round: {
233
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
            return nearbyintf(x);
235
20
        } else {
236
20
            return roundf(x);
237
20
        }
238
20
    }
239
36
    case RoundingMode::Floor:
240
36
        return floorf(x);
241
16
    case RoundingMode::Ceil:
242
16
        return ceilf(x);
243
16
    case RoundingMode::Trunc:
244
16
        return truncf(x);
245
68
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
68
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEffNS_12RoundingModeE
Line
Count
Source
230
20
inline float roundWithMode(float x, RoundingMode mode) {
231
20
    switch (mode) {
232
20
    case RoundingMode::Round: {
233
20
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
234
20
            return nearbyintf(x);
235
        } else {
236
            return roundf(x);
237
        }
238
20
    }
239
20
    case RoundingMode::Floor:
240
20
        return floorf(x);
241
0
    case RoundingMode::Ceil:
242
0
        return ceilf(x);
243
0
    case RoundingMode::Trunc:
244
0
        return truncf(x);
245
20
    }
246
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
247
0
    __builtin_unreachable();
248
20
}
249
250
template <TieBreakingMode tie_breaking_mode>
251
2.60k
inline double roundWithMode(double x, RoundingMode mode) {
252
2.60k
    switch (mode) {
253
2.30k
    case RoundingMode::Round: {
254
2.30k
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
88
            return nearbyint(x);
256
2.21k
        } else {
257
2.21k
            return round(x);
258
2.21k
        }
259
2.30k
    }
260
2.42k
    case RoundingMode::Floor:
261
2.42k
        return floor(x);
262
95
    case RoundingMode::Ceil:
263
95
        return ceil(x);
264
85
    case RoundingMode::Trunc:
265
85
        return trunc(x);
266
2.60k
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
2.60k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEddNS_12RoundingModeE
Line
Count
Source
251
2.51k
inline double roundWithMode(double x, RoundingMode mode) {
252
2.51k
    switch (mode) {
253
2.21k
    case RoundingMode::Round: {
254
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
            return nearbyint(x);
256
2.21k
        } else {
257
2.21k
            return round(x);
258
2.21k
        }
259
2.21k
    }
260
2.33k
    case RoundingMode::Floor:
261
2.33k
        return floor(x);
262
95
    case RoundingMode::Ceil:
263
95
        return ceil(x);
264
85
    case RoundingMode::Trunc:
265
85
        return trunc(x);
266
2.51k
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
2.51k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEddNS_12RoundingModeE
Line
Count
Source
251
88
inline double roundWithMode(double x, RoundingMode mode) {
252
88
    switch (mode) {
253
88
    case RoundingMode::Round: {
254
88
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
255
88
            return nearbyint(x);
256
        } else {
257
            return round(x);
258
        }
259
88
    }
260
88
    case RoundingMode::Floor:
261
88
        return floor(x);
262
0
    case RoundingMode::Ceil:
263
0
        return ceil(x);
264
0
    case RoundingMode::Trunc:
265
0
        return trunc(x);
266
88
    }
267
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
268
0
    __builtin_unreachable();
269
88
}
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.68k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE4loadEPKf
Line
Count
Source
278
68
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE4loadEPKd
Line
Count
Source
278
2.51k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE4loadEPKf
Line
Count
Source
278
20
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE4loadEPKd
Line
Count
Source
278
88
    static VectorType load(const ScalarType* in) { return *in; }
279
789
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5load1Ef
Line
Count
Source
279
68
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5load1Ed
Line
Count
Source
279
653
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5load1Ef
Line
Count
Source
279
20
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5load1Ed
Line
Count
Source
279
48
    static VectorType load1(const ScalarType in) { return in; }
280
2.68k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5storeEPff
Line
Count
Source
280
68
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5storeEPdd
Line
Count
Source
280
2.51k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5storeEPff
Line
Count
Source
280
20
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5storeEPdd
Line
Count
Source
280
88
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
281
2.31k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE8multiplyEff
Line
Count
Source
281
48
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE8multiplyEdd
Line
Count
Source
281
2.20k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE8multiplyEff
Line
Count
Source
281
12
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE8multiplyEdd
Line
Count
Source
281
45
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
282
2.31k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE6divideEff
Line
Count
Source
282
48
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE6divideEdd
Line
Count
Source
282
2.20k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE6divideEff
Line
Count
Source
282
12
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE6divideEdd
Line
Count
Source
282
45
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
283
    template <RoundingMode mode>
284
2.68k
    static VectorType apply(VectorType val) {
285
2.68k
        return roundWithMode<tie_breaking_mode>(val, mode);
286
2.68k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEff
Line
Count
Source
284
16
    static VectorType apply(VectorType val) {
285
16
        return roundWithMode<tie_breaking_mode>(val, mode);
286
16
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEdd
Line
Count
Source
284
85
    static VectorType apply(VectorType val) {
285
85
        return roundWithMode<tie_breaking_mode>(val, mode);
286
85
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEff
Line
Count
Source
284
16
    static VectorType apply(VectorType val) {
285
16
        return roundWithMode<tie_breaking_mode>(val, mode);
286
16
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEdd
Line
Count
Source
284
113
    static VectorType apply(VectorType val) {
285
113
        return roundWithMode<tie_breaking_mode>(val, mode);
286
113
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
284
20
    static VectorType apply(VectorType val) {
285
20
        return roundWithMode<tie_breaking_mode>(val, mode);
286
20
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
284
2.21k
    static VectorType apply(VectorType val) {
285
2.21k
        return roundWithMode<tie_breaking_mode>(val, mode);
286
2.21k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEff
Line
Count
Source
284
16
    static VectorType apply(VectorType val) {
285
16
        return roundWithMode<tie_breaking_mode>(val, mode);
286
16
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEdd
Line
Count
Source
284
95
    static VectorType apply(VectorType val) {
285
95
        return roundWithMode<tie_breaking_mode>(val, mode);
286
95
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
284
20
    static VectorType apply(VectorType val) {
285
20
        return roundWithMode<tie_breaking_mode>(val, mode);
286
20
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
284
88
    static VectorType apply(VectorType val) {
285
88
        return roundWithMode<tie_breaking_mode>(val, mode);
286
88
    }
287
288
789
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
288
68
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
288
653
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
288
20
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
288
48
    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.68k
                               T* __restrict out) {
301
2.68k
        auto val = Base::load(in);
302
303
2.68k
        if (scale_mode == ScaleMode::Positive) {
304
2.25k
            val = Base::multiply(val, scale);
305
2.25k
        } else if (scale_mode == ScaleMode::Negative) {
306
60
            val = Base::divide(val, scale);
307
60
        }
308
309
2.68k
        val = Base::template apply<rounding_mode>(val);
310
311
2.68k
        if (scale_mode == ScaleMode::Positive) {
312
2.25k
            val = Base::divide(val, scale);
313
2.25k
        } else if (scale_mode == ScaleMode::Negative) {
314
60
            val = Base::multiply(val, scale);
315
60
        }
316
317
2.68k
        Base::store(out, val);
318
2.68k
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_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_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
14
                               T* __restrict out) {
301
14
        auto val = Base::load(in);
302
303
14
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
14
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
14
        val = Base::template apply<rounding_mode>(val);
310
311
14
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
14
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
14
        Base::store(out, val);
318
14
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
59
                               T* __restrict out) {
301
59
        auto val = Base::load(in);
302
303
59
        if (scale_mode == ScaleMode::Positive) {
304
59
            val = Base::multiply(val, scale);
305
59
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
59
        val = Base::template apply<rounding_mode>(val);
310
311
59
        if (scale_mode == ScaleMode::Positive) {
312
59
            val = Base::divide(val, scale);
313
59
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
59
        Base::store(out, val);
318
59
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_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
12
            val = Base::divide(val, scale);
307
12
        }
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
12
            val = Base::multiply(val, scale);
315
12
        }
316
317
12
        Base::store(out, val);
318
12
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_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_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
91
                               T* __restrict out) {
301
91
        auto val = Base::load(in);
302
303
91
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
91
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
91
        val = Base::template apply<rounding_mode>(val);
310
311
91
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
91
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
91
        Base::store(out, val);
318
91
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
18
                               T* __restrict out) {
301
18
        auto val = Base::load(in);
302
303
18
        if (scale_mode == ScaleMode::Positive) {
304
18
            val = Base::multiply(val, scale);
305
18
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
18
        val = Base::template apply<rounding_mode>(val);
310
311
18
        if (scale_mode == ScaleMode::Positive) {
312
18
            val = Base::divide(val, scale);
313
18
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
18
        Base::store(out, val);
318
18
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
300
8
                               T* __restrict out) {
301
8
        auto val = Base::load(in);
302
303
8
        if (scale_mode == ScaleMode::Positive) {
304
0
            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
0
            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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
128
                               T* __restrict out) {
301
128
        auto val = Base::load(in);
302
303
128
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
128
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
128
        val = Base::template apply<rounding_mode>(val);
310
311
128
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
128
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
128
        Base::store(out, val);
318
128
    }
_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
8
                               T* __restrict out) {
301
8
        auto val = Base::load(in);
302
303
8
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
8
        } else if (scale_mode == ScaleMode::Negative) {
306
8
            val = Base::divide(val, scale);
307
8
        }
308
309
8
        val = Base::template apply<rounding_mode>(val);
310
311
8
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
8
        } else if (scale_mode == ScaleMode::Negative) {
314
8
            val = Base::multiply(val, scale);
315
8
        }
316
317
8
        Base::store(out, val);
318
8
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_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_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
73
                               T* __restrict out) {
301
73
        auto val = Base::load(in);
302
303
73
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
73
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
73
        val = Base::template apply<rounding_mode>(val);
310
311
73
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
73
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
73
        Base::store(out, val);
318
73
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
300
14
                               T* __restrict out) {
301
14
        auto val = Base::load(in);
302
303
14
        if (scale_mode == ScaleMode::Positive) {
304
14
            val = Base::multiply(val, scale);
305
14
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
14
        val = Base::template apply<rounding_mode>(val);
310
311
14
        if (scale_mode == ScaleMode::Positive) {
312
14
            val = Base::divide(val, scale);
313
14
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
14
        Base::store(out, val);
318
14
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_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
0
            val = Base::multiply(val, scale);
305
8
        } else if (scale_mode == ScaleMode::Negative) {
306
8
            val = Base::divide(val, scale);
307
8
        }
308
309
8
        val = Base::template apply<rounding_mode>(val);
310
311
8
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
8
        } else if (scale_mode == ScaleMode::Negative) {
314
8
            val = Base::multiply(val, scale);
315
8
        }
316
317
8
        Base::store(out, val);
318
8
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
300
8
                               T* __restrict out) {
301
8
        auto val = Base::load(in);
302
303
8
        if (scale_mode == ScaleMode::Positive) {
304
0
            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
0
            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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
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
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_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
4
            val = Base::divide(val, scale);
307
4
        }
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
4
            val = Base::multiply(val, scale);
315
4
        }
316
317
4
        Base::store(out, val);
318
4
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
300
43
                               T* __restrict out) {
301
43
        auto val = Base::load(in);
302
303
43
        if (scale_mode == ScaleMode::Positive) {
304
0
            val = Base::multiply(val, scale);
305
43
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
43
        val = Base::template apply<rounding_mode>(val);
310
311
43
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
43
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
43
        Base::store(out, val);
318
43
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
300
37
                               T* __restrict out) {
301
37
        auto val = Base::load(in);
302
303
37
        if (scale_mode == ScaleMode::Positive) {
304
37
            val = Base::multiply(val, scale);
305
37
        } else if (scale_mode == ScaleMode::Negative) {
306
0
            val = Base::divide(val, scale);
307
0
        }
308
309
37
        val = Base::template apply<rounding_mode>(val);
310
311
37
        if (scale_mode == ScaleMode::Positive) {
312
37
            val = Base::divide(val, scale);
313
37
        } else if (scale_mode == ScaleMode::Negative) {
314
0
            val = Base::multiply(val, scale);
315
0
        }
316
317
37
        Base::store(out, val);
318
37
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKdRS5_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
0
            val = Base::multiply(val, scale);
305
8
        } else if (scale_mode == ScaleMode::Negative) {
306
8
            val = Base::divide(val, scale);
307
8
        }
308
309
8
        val = Base::template apply<rounding_mode>(val);
310
311
8
        if (scale_mode == ScaleMode::Positive) {
312
0
            val = Base::divide(val, scale);
313
8
        } else if (scale_mode == ScaleMode::Negative) {
314
8
            val = Base::multiply(val, scale);
315
8
        }
316
317
8
        Base::store(out, val);
318
8
    }
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
558
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
558
        auto mm_scale = Op::prepare(scale);
338
339
558
        const size_t data_count = std::tuple_size<Data>();
340
341
558
        const T* end_in = in.data() + in.size();
342
558
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
558
        const T* __restrict p_in = in.data();
345
558
        T* __restrict p_out = out.data();
346
347
3.01k
        while (p_in < limit) {
348
2.45k
            Op::compute(p_in, mm_scale, p_out);
349
2.45k
            p_in += data_count;
350
2.45k
            p_out += data_count;
351
2.45k
        }
352
353
558
        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
558
    }
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
42
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
42
        auto mm_scale = Op::prepare(scale);
338
339
42
        const size_t data_count = std::tuple_size<Data>();
340
341
42
        const T* end_in = in.data() + in.size();
342
42
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
42
        const T* __restrict p_in = in.data();
345
42
        T* __restrict p_out = out.data();
346
347
126
        while (p_in < limit) {
348
84
            Op::compute(p_in, mm_scale, p_out);
349
84
            p_in += data_count;
350
84
            p_out += data_count;
351
84
        }
352
353
42
        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
42
    }
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
67
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
67
        auto mm_scale = Op::prepare(scale);
338
339
67
        const size_t data_count = std::tuple_size<Data>();
340
341
67
        const T* end_in = in.data() + in.size();
342
67
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
67
        const T* __restrict p_in = in.data();
345
67
        T* __restrict p_out = out.data();
346
347
187
        while (p_in < limit) {
348
120
            Op::compute(p_in, mm_scale, p_out);
349
120
            p_in += data_count;
350
120
            p_out += data_count;
351
120
        }
352
353
67
        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
67
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
336
366
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
366
        auto mm_scale = Op::prepare(scale);
338
339
366
        const size_t data_count = std::tuple_size<Data>();
340
341
366
        const T* end_in = in.data() + in.size();
342
366
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
366
        const T* __restrict p_in = in.data();
345
366
        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
366
        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
366
    }
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
25
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
25
        auto mm_scale = Op::prepare(scale);
338
339
25
        const size_t data_count = std::tuple_size<Data>();
340
341
25
        const T* end_in = in.data() + in.size();
342
25
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
25
        const T* __restrict p_in = in.data();
345
25
        T* __restrict p_out = out.data();
346
347
90
        while (p_in < limit) {
348
65
            Op::compute(p_in, mm_scale, p_out);
349
65
            p_in += data_count;
350
65
            p_out += data_count;
351
65
        }
352
353
25
        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
25
    }
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
12
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
337
12
        auto mm_scale = Op::prepare(scale);
338
339
12
        const size_t data_count = std::tuple_size<Data>();
340
341
12
        const T* end_in = in.data() + in.size();
342
12
        const T* limit = in.data() + in.size() / data_count * data_count;
343
344
12
        const T* __restrict p_in = in.data();
345
12
        T* __restrict p_out = out.data();
346
347
47
        while (p_in < limit) {
348
35
            Op::compute(p_in, mm_scale, p_out);
349
35
            p_in += data_count;
350
35
            p_out += data_count;
351
35
        }
352
353
12
        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
12
    }
_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
231
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
231
        auto mm_scale = Op::prepare(scale);
367
231
        Op::compute(&in, mm_scale, &out);
368
231
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_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_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_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_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
20
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
20
        auto mm_scale = Op::prepare(scale);
367
20
        Op::compute(&in, mm_scale, &out);
368
20
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_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_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
7
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
7
        auto mm_scale = Op::prepare(scale);
367
7
        Op::compute(&in, mm_scale, &out);
368
7
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
365
18
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
366
18
        auto mm_scale = Op::prepare(scale);
367
18
        Op::compute(&in, mm_scale, &out);
368
18
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_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_12RoundingModeE8ELNS_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_12RoundingModeE8ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_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_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_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_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_12RoundingModeE10ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKfmRf
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_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_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_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKdmRd
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_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKdmRd
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_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKdmRd
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
    }
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.12k
                                     [[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
557
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
557
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
557
            auto col_res = ColumnVector<T>::create();
470
471
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
557
            vec_res.resize(col->get_data().size());
473
474
558
            if (!vec_res.empty()) {
475
558
                if (scale_arg == 0) {
476
156
                    size_t scale = 1;
477
156
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
402
                } else if (scale_arg > 0) {
479
394
                    size_t scale = int_exp10(scale_arg);
480
394
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
394
                                                                     vec_res);
482
394
                } 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
558
            }
488
489
557
            return col_res;
490
557
        } 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.56k
        } else if constexpr (is_decimal(T)) {
504
1.56k
            const auto* const decimal_col =
505
1.56k
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
1.56k
            const auto& vec_src = decimal_col->get_data();
507
1.56k
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
1.56k
            auto& vec_res = col_res->get_data();
509
510
1.56k
            if (!vec_res.empty()) {
511
1.56k
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
1.56k
                                                                 decimal_col->get_scale(), vec_res,
513
1.56k
                                                                 scale_arg, result_scale);
514
1.56k
            }
515
1.56k
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
2.12k
    }
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
42
                                     [[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
42
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
42
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
42
            auto col_res = ColumnVector<T>::create();
470
471
42
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
42
            vec_res.resize(col->get_data().size());
473
474
42
            if (!vec_res.empty()) {
475
42
                if (scale_arg == 0) {
476
42
                    size_t scale = 1;
477
42
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
42
                } 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
42
            }
488
489
42
            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
42
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
51
                                     [[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
51
        } else if constexpr (is_decimal(T)) {
504
51
            const auto* const decimal_col =
505
51
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
51
            const auto& vec_src = decimal_col->get_data();
507
51
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
51
            auto& vec_res = col_res->get_data();
509
510
51
            if (!vec_res.empty()) {
511
51
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
51
                                                                 decimal_col->get_scale(), vec_res,
513
51
                                                                 scale_arg, result_scale);
514
51
            }
515
51
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
51
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
240
                                     [[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
240
        } else if constexpr (is_decimal(T)) {
504
240
            const auto* const decimal_col =
505
240
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
240
            const auto& vec_src = decimal_col->get_data();
507
240
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
240
            auto& vec_res = col_res->get_data();
509
510
240
            if (!vec_res.empty()) {
511
240
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
240
                                                                 decimal_col->get_scale(), vec_res,
513
240
                                                                 scale_arg, result_scale);
514
240
            }
515
240
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
240
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_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_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
2
                                     [[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
2
        } else if constexpr (is_decimal(T)) {
504
2
            const auto* const decimal_col =
505
2
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
2
            const auto& vec_src = decimal_col->get_data();
507
2
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
2
            auto& vec_res = col_res->get_data();
509
510
2
            if (!vec_res.empty()) {
511
2
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
2
                                                                 decimal_col->get_scale(), vec_res,
513
2
                                                                 scale_arg, result_scale);
514
2
            }
515
2
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
2
    }
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
432
                                     [[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
432
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
432
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
432
            auto col_res = ColumnVector<T>::create();
470
471
432
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
432
            vec_res.resize(col->get_data().size());
473
474
433
            if (!vec_res.empty()) {
475
433
                if (scale_arg == 0) {
476
67
                    size_t scale = 1;
477
67
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
366
                } else if (scale_arg > 0) {
479
366
                    size_t scale = int_exp10(scale_arg);
480
366
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
481
366
                                                                     vec_res);
482
366
                } 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
433
            }
488
489
432
            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
432
    }
_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
675
                                     [[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
675
        } else if constexpr (is_decimal(T)) {
504
675
            const auto* const decimal_col =
505
675
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
675
            const auto& vec_src = decimal_col->get_data();
507
675
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
675
            auto& vec_res = col_res->get_data();
509
510
675
            if (!vec_res.empty()) {
511
675
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
675
                                                                 decimal_col->get_scale(), vec_res,
513
675
                                                                 scale_arg, result_scale);
514
675
            }
515
675
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
675
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
12
                                     [[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
12
        } else if constexpr (is_decimal(T)) {
504
12
            const auto* const decimal_col =
505
12
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
12
            const auto& vec_src = decimal_col->get_data();
507
12
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
12
            auto& vec_res = col_res->get_data();
509
510
12
            if (!vec_res.empty()) {
511
12
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
12
                                                                 decimal_col->get_scale(), vec_res,
513
12
                                                                 scale_arg, result_scale);
514
12
            }
515
12
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
12
    }
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
25
                                     [[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
25
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
25
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
25
            auto col_res = ColumnVector<T>::create();
470
471
25
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
25
            vec_res.resize(col->get_data().size());
473
474
25
            if (!vec_res.empty()) {
475
25
                if (scale_arg == 0) {
476
25
                    size_t scale = 1;
477
25
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
25
                } 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
25
            }
488
489
25
            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
25
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
46
                                     [[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
46
        } else if constexpr (is_decimal(T)) {
504
46
            const auto* const decimal_col =
505
46
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
46
            const auto& vec_src = decimal_col->get_data();
507
46
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
46
            auto& vec_res = col_res->get_data();
509
510
46
            if (!vec_res.empty()) {
511
46
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
46
                                                                 decimal_col->get_scale(), vec_res,
513
46
                                                                 scale_arg, result_scale);
514
46
            }
515
46
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
46
    }
_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
55
                                     [[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
55
        } else if constexpr (is_decimal(T)) {
504
55
            const auto* const decimal_col =
505
55
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
55
            const auto& vec_src = decimal_col->get_data();
507
55
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
55
            auto& vec_res = col_res->get_data();
509
510
55
            if (!vec_res.empty()) {
511
55
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
55
                                                                 decimal_col->get_scale(), vec_res,
513
55
                                                                 scale_arg, result_scale);
514
55
            }
515
55
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
55
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
465
2
                                     [[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
2
        } else if constexpr (is_decimal(T)) {
504
2
            const auto* const decimal_col =
505
2
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
506
2
            const auto& vec_src = decimal_col->get_data();
507
2
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
508
2
            auto& vec_res = col_res->get_data();
509
510
2
            if (!vec_res.empty()) {
511
2
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
512
2
                                                                 decimal_col->get_scale(), vec_res,
513
2
                                                                 scale_arg, result_scale);
514
2
            }
515
2
            return col_res;
516
        } else {
517
            static_assert(false);
518
        }
519
2
    }
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
20
                                     [[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
20
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
468
20
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
469
20
            auto col_res = ColumnVector<T>::create();
470
471
20
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
472
20
            vec_res.resize(col->get_data().size());
473
474
20
            if (!vec_res.empty()) {
475
20
                if (scale_arg == 0) {
476
12
                    size_t scale = 1;
477
12
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
478
12
                } 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
20
            }
488
489
20
            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
20
    }
_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
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
    }
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
448
                                   [[maybe_unused]] Int16 result_scale) {
524
448
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
448
        const size_t input_row_count = col_scale_i32.size();
526
4.96k
        for (size_t i = 0; i < input_row_count; ++i) {
527
4.52k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
4.52k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
4.52k
                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.52k
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
131
                      T == TYPE_TIMEV2) {
538
131
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
131
            auto col_res = ColumnVector<T>::create();
540
131
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
131
            vec_res.resize(input_row_count);
542
543
264
            for (size_t i = 0; i < input_row_count; ++i) {
544
133
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
133
                if (scale_arg == 0) {
546
35
                    size_t scale = 1;
547
35
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
35
                                                                 vec_res[i]);
549
98
                } else if (scale_arg > 0) {
550
66
                    size_t scale = int_exp10(scale_arg);
551
66
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
66
                                                                     vec_res[i]);
553
66
                } else {
554
32
                    size_t scale = int_exp10(-scale_arg);
555
32
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
32
                                                                     vec_res[i]);
557
32
                }
558
133
            }
559
131
            return col_res;
560
131
        } 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
317
        } else if constexpr (is_decimal(T)) {
575
317
            const auto* decimal_col =
576
317
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
317
            const Int32 input_scale = decimal_col->get_scale();
578
317
            auto col_res =
579
317
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
4.70k
            for (size_t i = 0; i < input_row_count; ++i) {
582
4.38k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
4.38k
                        decimal_col->get_element(i).value, input_scale,
584
4.38k
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
4.38k
            }
586
587
317
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
448
    }
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
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
16
        for (size_t i = 0; i < input_row_count; ++i) {
527
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
8
                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
8
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
8
                      T == TYPE_TIMEV2) {
538
8
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
8
            auto col_res = ColumnVector<T>::create();
540
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
8
            vec_res.resize(input_row_count);
542
543
16
            for (size_t i = 0; i < input_row_count; ++i) {
544
8
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
8
                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
6
                } else if (scale_arg > 0) {
550
4
                    size_t scale = int_exp10(scale_arg);
551
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
4
                                                                     vec_res[i]);
553
4
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
558
8
            }
559
8
            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
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
18
                                   [[maybe_unused]] Int16 result_scale) {
524
18
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
18
        const size_t input_row_count = col_scale_i32.size();
526
36
        for (size_t i = 0; i < input_row_count; ++i) {
527
18
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
18
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
18
                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
18
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
18
                      T == TYPE_TIMEV2) {
538
18
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
18
            auto col_res = ColumnVector<T>::create();
540
18
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
18
            vec_res.resize(input_row_count);
542
543
36
            for (size_t i = 0; i < input_row_count; ++i) {
544
18
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
18
                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
16
                } else if (scale_arg > 0) {
550
14
                    size_t scale = int_exp10(scale_arg);
551
14
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
14
                                                                     vec_res[i]);
553
14
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
558
18
            }
559
18
            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
18
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
39
                                   [[maybe_unused]] Int16 result_scale) {
524
39
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
39
        const size_t input_row_count = col_scale_i32.size();
526
606
        for (size_t i = 0; i < input_row_count; ++i) {
527
567
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
567
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
567
                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
567
        }
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
39
        } else if constexpr (is_decimal(T)) {
575
39
            const auto* decimal_col =
576
39
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
39
            const Int32 input_scale = decimal_col->get_scale();
578
39
            auto col_res =
579
39
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
606
            for (size_t i = 0; i < input_row_count; ++i) {
582
567
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
567
                        decimal_col->get_element(i).value, input_scale,
584
567
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
567
            }
586
587
39
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
39
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_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
314
        for (size_t i = 0; i < input_row_count; ++i) {
527
300
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
300
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
300
                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
300
        }
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
314
            for (size_t i = 0; i < input_row_count; ++i) {
582
300
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
300
                        decimal_col->get_element(i).value, input_scale,
584
300
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
300
            }
586
587
14
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
14
    }
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
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
16
        for (size_t i = 0; i < input_row_count; ++i) {
527
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
8
                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
8
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
8
                      T == TYPE_TIMEV2) {
538
8
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
8
            auto col_res = ColumnVector<T>::create();
540
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
8
            vec_res.resize(input_row_count);
542
543
16
            for (size_t i = 0; i < input_row_count; ++i) {
544
8
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
8
                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
6
                } else if (scale_arg > 0) {
550
4
                    size_t scale = int_exp10(scale_arg);
551
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
4
                                                                     vec_res[i]);
553
4
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
558
8
            }
559
8
            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
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
17
                                   [[maybe_unused]] Int16 result_scale) {
524
17
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
17
        const size_t input_row_count = col_scale_i32.size();
526
36
        for (size_t i = 0; i < input_row_count; ++i) {
527
19
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
19
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
19
                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
19
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
17
                      T == TYPE_TIMEV2) {
538
17
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
17
            auto col_res = ColumnVector<T>::create();
540
17
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
17
            vec_res.resize(input_row_count);
542
543
36
            for (size_t i = 0; i < input_row_count; ++i) {
544
19
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
19
                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
14
                } else if (scale_arg > 0) {
550
12
                    size_t scale = int_exp10(scale_arg);
551
12
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
12
                                                                     vec_res[i]);
553
12
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
558
19
            }
559
17
            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
17
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
41
                                   [[maybe_unused]] Int16 result_scale) {
524
41
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
41
        const size_t input_row_count = col_scale_i32.size();
526
610
        for (size_t i = 0; i < input_row_count; ++i) {
527
569
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
569
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
569
                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
569
        }
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
41
        } else if constexpr (is_decimal(T)) {
575
41
            const auto* decimal_col =
576
41
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
41
            const Int32 input_scale = decimal_col->get_scale();
578
41
            auto col_res =
579
41
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
610
            for (size_t i = 0; i < input_row_count; ++i) {
582
569
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
569
                        decimal_col->get_element(i).value, input_scale,
584
569
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
569
            }
586
587
41
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
41
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
20
                                   [[maybe_unused]] Int16 result_scale) {
524
20
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
20
        const size_t input_row_count = col_scale_i32.size();
526
326
        for (size_t i = 0; i < input_row_count; ++i) {
527
306
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
306
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
306
                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
306
        }
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
20
        } else if constexpr (is_decimal(T)) {
575
20
            const auto* decimal_col =
576
20
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
20
            const Int32 input_scale = decimal_col->get_scale();
578
20
            auto col_res =
579
20
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
326
            for (size_t i = 0; i < input_row_count; ++i) {
582
306
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
306
                        decimal_col->get_element(i).value, input_scale,
584
306
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
306
            }
586
587
20
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
20
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
6
                                   [[maybe_unused]] Int16 result_scale) {
524
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
6
        const size_t input_row_count = col_scale_i32.size();
526
12
        for (size_t i = 0; i < input_row_count; ++i) {
527
6
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
6
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
6
                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
6
        }
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
6
        } else if constexpr (is_decimal(T)) {
575
6
            const auto* decimal_col =
576
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
6
            const Int32 input_scale = decimal_col->get_scale();
578
6
            auto col_res =
579
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
12
            for (size_t i = 0; i < input_row_count; ++i) {
582
6
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
6
                        decimal_col->get_element(i).value, input_scale,
584
6
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
6
            }
586
587
6
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
6
    }
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
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
4
                    size_t scale = 1;
547
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
4
                                                                 vec_res[i]);
549
6
                } else if (scale_arg > 0) {
550
4
                    size_t scale = int_exp10(scale_arg);
551
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
4
                                                                     vec_res[i]);
553
4
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
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_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
16
                                   [[maybe_unused]] Int16 result_scale) {
524
16
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
16
        const size_t input_row_count = col_scale_i32.size();
526
32
        for (size_t i = 0; i < input_row_count; ++i) {
527
16
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
16
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
16
                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
16
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
16
                      T == TYPE_TIMEV2) {
538
16
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
16
            auto col_res = ColumnVector<T>::create();
540
16
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
16
            vec_res.resize(input_row_count);
542
543
32
            for (size_t i = 0; i < input_row_count; ++i) {
544
16
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
16
                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
12
                } else if (scale_arg > 0) {
550
6
                    size_t scale = int_exp10(scale_arg);
551
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
6
                                                                     vec_res[i]);
553
6
                } else {
554
6
                    size_t scale = int_exp10(-scale_arg);
555
6
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
6
                                                                     vec_res[i]);
557
6
                }
558
16
            }
559
16
            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
16
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
40
                                   [[maybe_unused]] Int16 result_scale) {
524
40
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
40
        const size_t input_row_count = col_scale_i32.size();
526
608
        for (size_t i = 0; i < input_row_count; ++i) {
527
568
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
568
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
568
                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
568
        }
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
40
        } else if constexpr (is_decimal(T)) {
575
40
            const auto* decimal_col =
576
40
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
40
            const Int32 input_scale = decimal_col->get_scale();
578
40
            auto col_res =
579
40
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
608
            for (size_t i = 0; i < input_row_count; ++i) {
582
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
568
                        decimal_col->get_element(i).value, input_scale,
584
568
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
568
            }
586
587
40
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
40
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
20
                                   [[maybe_unused]] Int16 result_scale) {
524
20
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
20
        const size_t input_row_count = col_scale_i32.size();
526
326
        for (size_t i = 0; i < input_row_count; ++i) {
527
306
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
306
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
306
                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
306
        }
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
20
        } else if constexpr (is_decimal(T)) {
575
20
            const auto* decimal_col =
576
20
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
20
            const Int32 input_scale = decimal_col->get_scale();
578
20
            auto col_res =
579
20
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
326
            for (size_t i = 0; i < input_row_count; ++i) {
582
306
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
306
                        decimal_col->get_element(i).value, input_scale,
584
306
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
306
            }
586
587
20
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
20
    }
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
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
16
        for (size_t i = 0; i < input_row_count; ++i) {
527
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
8
                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
8
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
8
                      T == TYPE_TIMEV2) {
538
8
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
8
            auto col_res = ColumnVector<T>::create();
540
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
8
            vec_res.resize(input_row_count);
542
543
16
            for (size_t i = 0; i < input_row_count; ++i) {
544
8
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
8
                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
6
                } else if (scale_arg > 0) {
550
4
                    size_t scale = int_exp10(scale_arg);
551
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
4
                                                                     vec_res[i]);
553
4
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
558
8
            }
559
8
            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
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
20
                                   [[maybe_unused]] Int16 result_scale) {
524
20
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
20
        const size_t input_row_count = col_scale_i32.size();
526
40
        for (size_t i = 0; i < input_row_count; ++i) {
527
20
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
20
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
20
                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
20
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
20
                      T == TYPE_TIMEV2) {
538
20
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
20
            auto col_res = ColumnVector<T>::create();
540
20
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
20
            vec_res.resize(input_row_count);
542
543
40
            for (size_t i = 0; i < input_row_count; ++i) {
544
20
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
20
                if (scale_arg == 0) {
546
6
                    size_t scale = 1;
547
6
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
6
                                                                 vec_res[i]);
549
14
                } else if (scale_arg > 0) {
550
8
                    size_t scale = int_exp10(scale_arg);
551
8
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
8
                                                                     vec_res[i]);
553
8
                } else {
554
6
                    size_t scale = int_exp10(-scale_arg);
555
6
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
6
                                                                     vec_res[i]);
557
6
                }
558
20
            }
559
20
            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
20
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
42
                                   [[maybe_unused]] Int16 result_scale) {
524
42
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
42
        const size_t input_row_count = col_scale_i32.size();
526
612
        for (size_t i = 0; i < input_row_count; ++i) {
527
570
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
570
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
570
                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
570
        }
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
42
        } else if constexpr (is_decimal(T)) {
575
42
            const auto* decimal_col =
576
42
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
42
            const Int32 input_scale = decimal_col->get_scale();
578
42
            auto col_res =
579
42
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
612
            for (size_t i = 0; i < input_row_count; ++i) {
582
570
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
570
                        decimal_col->get_element(i).value, input_scale,
584
570
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
570
            }
586
587
42
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
42
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
19
                                   [[maybe_unused]] Int16 result_scale) {
524
19
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
19
        const size_t input_row_count = col_scale_i32.size();
526
324
        for (size_t i = 0; i < input_row_count; ++i) {
527
305
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
305
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
305
                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
305
        }
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
19
        } else if constexpr (is_decimal(T)) {
575
19
            const auto* decimal_col =
576
19
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
19
            const Int32 input_scale = decimal_col->get_scale();
578
19
            auto col_res =
579
19
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
324
            for (size_t i = 0; i < input_row_count; ++i) {
582
305
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
305
                        decimal_col->get_element(i).value, input_scale,
584
305
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
305
            }
586
587
19
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
19
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_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_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
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
4
                    size_t scale = 1;
547
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
548
4
                                                                 vec_res[i]);
549
6
                } else if (scale_arg > 0) {
550
4
                    size_t scale = int_exp10(scale_arg);
551
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
4
                                                                     vec_res[i]);
553
4
                } else {
554
2
                    size_t scale = int_exp10(-scale_arg);
555
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
2
                                                                     vec_res[i]);
557
2
                }
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_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
16
                                   [[maybe_unused]] Int16 result_scale) {
524
16
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
16
        const size_t input_row_count = col_scale_i32.size();
526
32
        for (size_t i = 0; i < input_row_count; ++i) {
527
16
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
16
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
16
                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
16
        }
535
536
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
537
16
                      T == TYPE_TIMEV2) {
538
16
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
539
16
            auto col_res = ColumnVector<T>::create();
540
16
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
541
16
            vec_res.resize(input_row_count);
542
543
32
            for (size_t i = 0; i < input_row_count; ++i) {
544
16
                const Int32 scale_arg = col_scale_i32.get_data()[i];
545
16
                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
12
                } else if (scale_arg > 0) {
550
6
                    size_t scale = int_exp10(scale_arg);
551
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
552
6
                                                                     vec_res[i]);
553
6
                } else {
554
6
                    size_t scale = int_exp10(-scale_arg);
555
6
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
556
6
                                                                     vec_res[i]);
557
6
                }
558
16
            }
559
16
            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
16
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
40
                                   [[maybe_unused]] Int16 result_scale) {
524
40
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
40
        const size_t input_row_count = col_scale_i32.size();
526
608
        for (size_t i = 0; i < input_row_count; ++i) {
527
568
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
568
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
568
                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
568
        }
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
40
        } else if constexpr (is_decimal(T)) {
575
40
            const auto* decimal_col =
576
40
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
40
            const Int32 input_scale = decimal_col->get_scale();
578
40
            auto col_res =
579
40
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
608
            for (size_t i = 0; i < input_row_count; ++i) {
582
568
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
568
                        decimal_col->get_element(i).value, input_scale,
584
568
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
568
            }
586
587
40
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
40
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
523
20
                                   [[maybe_unused]] Int16 result_scale) {
524
20
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
525
20
        const size_t input_row_count = col_scale_i32.size();
526
326
        for (size_t i = 0; i < input_row_count; ++i) {
527
306
            const Int32 scale_arg = col_scale_i32.get_data()[i];
528
306
            if (scale_arg > std::numeric_limits<Int16>::max() ||
529
306
                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
306
        }
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
20
        } else if constexpr (is_decimal(T)) {
575
20
            const auto* decimal_col =
576
20
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
577
20
            const Int32 input_scale = decimal_col->get_scale();
578
20
            auto col_res =
579
20
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
580
581
326
            for (size_t i = 0; i < input_row_count; ++i) {
582
306
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
583
306
                        decimal_col->get_element(i).value, input_scale,
584
306
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
585
306
            }
586
587
20
            return col_res;
588
        } else {
589
            static_assert(false);
590
        }
591
20
    }
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
322
                                     [[maybe_unused]] Int16 result_scale) {
596
322
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
322
        const size_t input_rows_count = col_scale->size();
598
599
4.71k
        for (size_t i = 0; i < input_rows_count; ++i) {
600
4.39k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
4.39k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
4.39k
                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.39k
        }
609
610
322
        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
224
        } else if constexpr (is_decimal(T)) {
627
224
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
224
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
224
                            const_col_general->get_data_column());
630
224
            const auto& general_val = data_col_general.get_data()[0];
631
224
            Int32 input_scale = data_col_general.get_scale();
632
224
            auto col_res =
633
224
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
4.51k
            for (size_t i = 0; i < input_rows_count; ++i) {
636
4.29k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
4.29k
                        general_val, input_scale, col_res->get_element(i).value,
638
4.29k
                        col_scale_i32.get_data()[i], result_scale);
639
4.29k
            }
640
641
224
            return col_res;
642
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
643
98
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
98
            const ColumnVector<T>& data_col_general =
645
98
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
98
            const auto& general_val = data_col_general.get_data()[0];
647
98
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
98
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
196
            for (size_t i = 0; i < input_rows_count; ++i) {
651
98
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
98
                if (scale_arg == 0) {
653
28
                    size_t scale = 1;
654
28
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
70
                } else if (scale_arg > 0) {
656
50
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
50
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
50
                                                                     vec_res[i]);
659
50
                } else {
660
20
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
20
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
20
                                                                     vec_res[i]);
663
20
                }
664
98
            }
665
666
98
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
322
    }
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
8
                                     [[maybe_unused]] Int16 result_scale) {
596
8
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
8
        const size_t input_rows_count = col_scale->size();
598
599
16
        for (size_t i = 0; i < input_rows_count; ++i) {
600
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
8
                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
8
        }
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
8
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
8
            const ColumnVector<T>& data_col_general =
645
8
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
8
            const auto& general_val = data_col_general.get_data()[0];
647
8
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
16
            for (size_t i = 0; i < input_rows_count; ++i) {
651
8
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
8
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
6
                } else if (scale_arg > 0) {
656
4
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
4
                                                                     vec_res[i]);
659
4
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
8
            }
665
666
8
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
10
                                     [[maybe_unused]] Int16 result_scale) {
596
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
10
        const size_t input_rows_count = col_scale->size();
598
599
20
        for (size_t i = 0; i < input_rows_count; ++i) {
600
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
10
                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
10
        }
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
10
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
10
            const ColumnVector<T>& data_col_general =
645
10
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
10
            const auto& general_val = data_col_general.get_data()[0];
647
10
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
20
            for (size_t i = 0; i < input_rows_count; ++i) {
651
10
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
10
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
8
                } else if (scale_arg > 0) {
656
6
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
6
                                                                     vec_res[i]);
659
6
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
10
            }
665
666
10
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
30
                                     [[maybe_unused]] Int16 result_scale) {
596
30
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
30
        const size_t input_rows_count = col_scale->size();
598
599
588
        for (size_t i = 0; i < input_rows_count; ++i) {
600
558
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
558
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
558
                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
558
        }
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
30
        } else if constexpr (is_decimal(T)) {
627
30
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
30
                            const_col_general->get_data_column());
630
30
            const auto& general_val = data_col_general.get_data()[0];
631
30
            Int32 input_scale = data_col_general.get_scale();
632
30
            auto col_res =
633
30
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
588
            for (size_t i = 0; i < input_rows_count; ++i) {
636
558
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
558
                        general_val, input_scale, col_res->get_element(i).value,
638
558
                        col_scale_i32.get_data()[i], result_scale);
639
558
            }
640
641
30
            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
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
20
                                     [[maybe_unused]] Int16 result_scale) {
596
20
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
20
        const size_t input_rows_count = col_scale->size();
598
599
326
        for (size_t i = 0; i < input_rows_count; ++i) {
600
306
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
306
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
306
                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
306
        }
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
20
        } else if constexpr (is_decimal(T)) {
627
20
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
20
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
20
                            const_col_general->get_data_column());
630
20
            const auto& general_val = data_col_general.get_data()[0];
631
20
            Int32 input_scale = data_col_general.get_scale();
632
20
            auto col_res =
633
20
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
326
            for (size_t i = 0; i < input_rows_count; ++i) {
636
306
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
306
                        general_val, input_scale, col_res->get_element(i).value,
638
306
                        col_scale_i32.get_data()[i], result_scale);
639
306
            }
640
641
20
            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
20
    }
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
8
                                     [[maybe_unused]] Int16 result_scale) {
596
8
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
8
        const size_t input_rows_count = col_scale->size();
598
599
16
        for (size_t i = 0; i < input_rows_count; ++i) {
600
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
8
                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
8
        }
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
8
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
8
            const ColumnVector<T>& data_col_general =
645
8
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
8
            const auto& general_val = data_col_general.get_data()[0];
647
8
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
16
            for (size_t i = 0; i < input_rows_count; ++i) {
651
8
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
8
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
6
                } else if (scale_arg > 0) {
656
4
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
4
                                                                     vec_res[i]);
659
4
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
8
            }
665
666
8
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
10
                                     [[maybe_unused]] Int16 result_scale) {
596
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
10
        const size_t input_rows_count = col_scale->size();
598
599
20
        for (size_t i = 0; i < input_rows_count; ++i) {
600
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
10
                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
10
        }
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
10
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
10
            const ColumnVector<T>& data_col_general =
645
10
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
10
            const auto& general_val = data_col_general.get_data()[0];
647
10
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
20
            for (size_t i = 0; i < input_rows_count; ++i) {
651
10
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
10
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
8
                } else if (scale_arg > 0) {
656
6
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
6
                                                                     vec_res[i]);
659
6
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
10
            }
665
666
10
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
30
                                     [[maybe_unused]] Int16 result_scale) {
596
30
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
30
        const size_t input_rows_count = col_scale->size();
598
599
588
        for (size_t i = 0; i < input_rows_count; ++i) {
600
558
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
558
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
558
                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
558
        }
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
30
        } else if constexpr (is_decimal(T)) {
627
30
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
30
                            const_col_general->get_data_column());
630
30
            const auto& general_val = data_col_general.get_data()[0];
631
30
            Int32 input_scale = data_col_general.get_scale();
632
30
            auto col_res =
633
30
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
588
            for (size_t i = 0; i < input_rows_count; ++i) {
636
558
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
558
                        general_val, input_scale, col_res->get_element(i).value,
638
558
                        col_scale_i32.get_data()[i], result_scale);
639
558
            }
640
641
30
            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
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
13
                                     [[maybe_unused]] Int16 result_scale) {
596
13
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
13
        const size_t input_rows_count = col_scale->size();
598
599
312
        for (size_t i = 0; i < input_rows_count; ++i) {
600
299
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
299
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
299
                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
299
        }
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
13
        } else if constexpr (is_decimal(T)) {
627
13
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
13
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
13
                            const_col_general->get_data_column());
630
13
            const auto& general_val = data_col_general.get_data()[0];
631
13
            Int32 input_scale = data_col_general.get_scale();
632
13
            auto col_res =
633
13
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
312
            for (size_t i = 0; i < input_rows_count; ++i) {
636
299
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
299
                        general_val, input_scale, col_res->get_element(i).value,
638
299
                        col_scale_i32.get_data()[i], result_scale);
639
299
            }
640
641
13
            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
13
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
2
                                     [[maybe_unused]] Int16 result_scale) {
596
2
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
2
        const size_t input_rows_count = col_scale->size();
598
599
4
        for (size_t i = 0; i < input_rows_count; ++i) {
600
2
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
2
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
2
                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
        }
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
2
        } else if constexpr (is_decimal(T)) {
627
2
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
2
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
2
                            const_col_general->get_data_column());
630
2
            const auto& general_val = data_col_general.get_data()[0];
631
2
            Int32 input_scale = data_col_general.get_scale();
632
2
            auto col_res =
633
2
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
4
            for (size_t i = 0; i < input_rows_count; ++i) {
636
2
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
2
                        general_val, input_scale, col_res->get_element(i).value,
638
2
                        col_scale_i32.get_data()[i], result_scale);
639
2
            }
640
641
2
            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
2
    }
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
10
                                     [[maybe_unused]] Int16 result_scale) {
596
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
10
        const size_t input_rows_count = col_scale->size();
598
599
20
        for (size_t i = 0; i < input_rows_count; ++i) {
600
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
10
                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
10
        }
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
10
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
10
            const ColumnVector<T>& data_col_general =
645
10
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
10
            const auto& general_val = data_col_general.get_data()[0];
647
10
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
20
            for (size_t i = 0; i < input_rows_count; ++i) {
651
10
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
10
                if (scale_arg == 0) {
653
4
                    size_t scale = 1;
654
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
6
                } else if (scale_arg > 0) {
656
4
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
4
                                                                     vec_res[i]);
659
4
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
10
            }
665
666
10
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
12
                                     [[maybe_unused]] Int16 result_scale) {
596
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
12
        const size_t input_rows_count = col_scale->size();
598
599
24
        for (size_t i = 0; i < input_rows_count; ++i) {
600
12
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
12
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
12
                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
12
        }
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
12
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
12
            const ColumnVector<T>& data_col_general =
645
12
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
12
            const auto& general_val = data_col_general.get_data()[0];
647
12
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
12
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
24
            for (size_t i = 0; i < input_rows_count; ++i) {
651
12
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
12
                if (scale_arg == 0) {
653
4
                    size_t scale = 1;
654
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
8
                } else if (scale_arg > 0) {
656
6
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
6
                                                                     vec_res[i]);
659
6
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
12
            }
665
666
12
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
12
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
31
                                     [[maybe_unused]] Int16 result_scale) {
596
31
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
31
        const size_t input_rows_count = col_scale->size();
598
599
590
        for (size_t i = 0; i < input_rows_count; ++i) {
600
559
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
559
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
559
                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
559
        }
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
31
        } else if constexpr (is_decimal(T)) {
627
31
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
31
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
31
                            const_col_general->get_data_column());
630
31
            const auto& general_val = data_col_general.get_data()[0];
631
31
            Int32 input_scale = data_col_general.get_scale();
632
31
            auto col_res =
633
31
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
590
            for (size_t i = 0; i < input_rows_count; ++i) {
636
559
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
559
                        general_val, input_scale, col_res->get_element(i).value,
638
559
                        col_scale_i32.get_data()[i], result_scale);
639
559
            }
640
641
31
            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
31
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
12
                                     [[maybe_unused]] Int16 result_scale) {
596
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
12
        const size_t input_rows_count = col_scale->size();
598
599
310
        for (size_t i = 0; i < input_rows_count; ++i) {
600
298
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
298
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
298
                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
298
        }
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
12
        } else if constexpr (is_decimal(T)) {
627
12
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
12
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
12
                            const_col_general->get_data_column());
630
12
            const auto& general_val = data_col_general.get_data()[0];
631
12
            Int32 input_scale = data_col_general.get_scale();
632
12
            auto col_res =
633
12
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
310
            for (size_t i = 0; i < input_rows_count; ++i) {
636
298
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
298
                        general_val, input_scale, col_res->get_element(i).value,
638
298
                        col_scale_i32.get_data()[i], result_scale);
639
298
            }
640
641
12
            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
12
    }
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
8
                                     [[maybe_unused]] Int16 result_scale) {
596
8
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
8
        const size_t input_rows_count = col_scale->size();
598
599
16
        for (size_t i = 0; i < input_rows_count; ++i) {
600
8
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
8
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
8
                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
8
        }
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
8
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
8
            const ColumnVector<T>& data_col_general =
645
8
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
8
            const auto& general_val = data_col_general.get_data()[0];
647
8
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
8
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
16
            for (size_t i = 0; i < input_rows_count; ++i) {
651
8
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
8
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
6
                } else if (scale_arg > 0) {
656
4
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
4
                                                                     vec_res[i]);
659
4
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
8
            }
665
666
8
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
8
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
10
                                     [[maybe_unused]] Int16 result_scale) {
596
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
10
        const size_t input_rows_count = col_scale->size();
598
599
20
        for (size_t i = 0; i < input_rows_count; ++i) {
600
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
10
                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
10
        }
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
10
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
10
            const ColumnVector<T>& data_col_general =
645
10
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
10
            const auto& general_val = data_col_general.get_data()[0];
647
10
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
20
            for (size_t i = 0; i < input_rows_count; ++i) {
651
10
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
10
                if (scale_arg == 0) {
653
2
                    size_t scale = 1;
654
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
8
                } else if (scale_arg > 0) {
656
6
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
6
                                                                     vec_res[i]);
659
6
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
10
            }
665
666
10
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
30
                                     [[maybe_unused]] Int16 result_scale) {
596
30
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
30
        const size_t input_rows_count = col_scale->size();
598
599
588
        for (size_t i = 0; i < input_rows_count; ++i) {
600
558
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
558
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
558
                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
558
        }
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
30
        } else if constexpr (is_decimal(T)) {
627
30
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
30
                            const_col_general->get_data_column());
630
30
            const auto& general_val = data_col_general.get_data()[0];
631
30
            Int32 input_scale = data_col_general.get_scale();
632
30
            auto col_res =
633
30
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
588
            for (size_t i = 0; i < input_rows_count; ++i) {
636
558
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
558
                        general_val, input_scale, col_res->get_element(i).value,
638
558
                        col_scale_i32.get_data()[i], result_scale);
639
558
            }
640
641
30
            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
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
12
                                     [[maybe_unused]] Int16 result_scale) {
596
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
12
        const size_t input_rows_count = col_scale->size();
598
599
310
        for (size_t i = 0; i < input_rows_count; ++i) {
600
298
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
298
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
298
                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
298
        }
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
12
        } else if constexpr (is_decimal(T)) {
627
12
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
12
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
12
                            const_col_general->get_data_column());
630
12
            const auto& general_val = data_col_general.get_data()[0];
631
12
            Int32 input_scale = data_col_general.get_scale();
632
12
            auto col_res =
633
12
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
310
            for (size_t i = 0; i < input_rows_count; ++i) {
636
298
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
298
                        general_val, input_scale, col_res->get_element(i).value,
638
298
                        col_scale_i32.get_data()[i], result_scale);
639
298
            }
640
641
12
            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
12
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
2
                                     [[maybe_unused]] Int16 result_scale) {
596
2
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
2
        const size_t input_rows_count = col_scale->size();
598
599
4
        for (size_t i = 0; i < input_rows_count; ++i) {
600
2
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
2
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
2
                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
        }
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
2
        } else if constexpr (is_decimal(T)) {
627
2
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
2
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
2
                            const_col_general->get_data_column());
630
2
            const auto& general_val = data_col_general.get_data()[0];
631
2
            Int32 input_scale = data_col_general.get_scale();
632
2
            auto col_res =
633
2
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
4
            for (size_t i = 0; i < input_rows_count; ++i) {
636
2
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
2
                        general_val, input_scale, col_res->get_element(i).value,
638
2
                        col_scale_i32.get_data()[i], result_scale);
639
2
            }
640
641
2
            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
2
    }
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
10
                                     [[maybe_unused]] Int16 result_scale) {
596
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
10
        const size_t input_rows_count = col_scale->size();
598
599
20
        for (size_t i = 0; i < input_rows_count; ++i) {
600
10
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
10
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
10
                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
10
        }
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
10
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
10
            const ColumnVector<T>& data_col_general =
645
10
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
10
            const auto& general_val = data_col_general.get_data()[0];
647
10
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
20
            for (size_t i = 0; i < input_rows_count; ++i) {
651
10
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
10
                if (scale_arg == 0) {
653
4
                    size_t scale = 1;
654
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
6
                } else if (scale_arg > 0) {
656
4
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
4
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
4
                                                                     vec_res[i]);
659
4
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
10
            }
665
666
10
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
12
                                     [[maybe_unused]] Int16 result_scale) {
596
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
12
        const size_t input_rows_count = col_scale->size();
598
599
24
        for (size_t i = 0; i < input_rows_count; ++i) {
600
12
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
12
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
12
                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
12
        }
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
12
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
644
12
            const ColumnVector<T>& data_col_general =
645
12
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
646
12
            const auto& general_val = data_col_general.get_data()[0];
647
12
            auto col_res = ColumnVector<T>::create(input_rows_count);
648
12
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
649
650
24
            for (size_t i = 0; i < input_rows_count; ++i) {
651
12
                const Int16 scale_arg = col_scale_i32.get_data()[i];
652
12
                if (scale_arg == 0) {
653
4
                    size_t scale = 1;
654
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
655
8
                } else if (scale_arg > 0) {
656
6
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
657
6
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
658
6
                                                                     vec_res[i]);
659
6
                } else {
660
2
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
661
2
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
662
2
                                                                     vec_res[i]);
663
2
                }
664
12
            }
665
666
12
            return col_res;
667
        } else {
668
            static_assert(false);
669
        }
670
12
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
30
                                     [[maybe_unused]] Int16 result_scale) {
596
30
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
30
        const size_t input_rows_count = col_scale->size();
598
599
588
        for (size_t i = 0; i < input_rows_count; ++i) {
600
558
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
558
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
558
                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
558
        }
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
30
        } else if constexpr (is_decimal(T)) {
627
30
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
30
                            const_col_general->get_data_column());
630
30
            const auto& general_val = data_col_general.get_data()[0];
631
30
            Int32 input_scale = data_col_general.get_scale();
632
30
            auto col_res =
633
30
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
588
            for (size_t i = 0; i < input_rows_count; ++i) {
636
558
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
558
                        general_val, input_scale, col_res->get_element(i).value,
638
558
                        col_scale_i32.get_data()[i], result_scale);
639
558
            }
640
641
30
            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
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
595
12
                                     [[maybe_unused]] Int16 result_scale) {
596
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
597
12
        const size_t input_rows_count = col_scale->size();
598
599
310
        for (size_t i = 0; i < input_rows_count; ++i) {
600
298
            const Int32 scale_arg = col_scale_i32.get_data()[i];
601
602
298
            if (scale_arg > std::numeric_limits<Int16>::max() ||
603
298
                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
298
        }
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
12
        } else if constexpr (is_decimal(T)) {
627
12
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
628
12
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
629
12
                            const_col_general->get_data_column());
630
12
            const auto& general_val = data_col_general.get_data()[0];
631
12
            Int32 input_scale = data_col_general.get_scale();
632
12
            auto col_res =
633
12
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
634
635
310
            for (size_t i = 0; i < input_rows_count; ++i) {
636
298
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
637
298
                        general_val, input_scale, col_res->get_element(i).value,
638
298
                        col_scale_i32.get_data()[i], result_scale);
639
298
            }
640
641
12
            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
12
    }
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
2.04k
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
37
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
61
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
17
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
31
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
22
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
324
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
30
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
42
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
15
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
20
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
473
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
20
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
14
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
36
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
33
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
34
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
33
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
28
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
29
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
30
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
103
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
27
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
26
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
29
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
32
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
91
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
30
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
29
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
677
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
677
11
    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.48k
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
28
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
52
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
8
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
307
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
7
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
21
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
33
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
9
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
11
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
464
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
11
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
23
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
18
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
21
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
18
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
90
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
20
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
78
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
681
2
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
681
2
    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
450
    DataTypes get_variadic_argument_types_impl() const override {
685
450
        return Impl::get_variadic_argument_types();
686
450
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
684
9
    DataTypes get_variadic_argument_types_impl() const override {
685
9
        return Impl::get_variadic_argument_types();
686
9
    }
687
688
1.60k
    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
28
    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
11
    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
11
    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
6
    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
362
    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
211
    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
250
    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
185
    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
12
    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.38k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
1.38k
        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.38k
        return arguments[0];
700
1.38k
    }
_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
26
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
26
        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
26
        return arguments[0];
700
26
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
50
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
50
        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
50
        return arguments[0];
700
50
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_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_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
691
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
6
        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
6
        return arguments[0];
700
6
    }
_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
305
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
305
        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
305
        return arguments[0];
700
305
    }
_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
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_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
462
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
462
        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
462
        return arguments[0];
700
462
    }
_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
88
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
692
88
        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
88
        return arguments[0];
700
88
    }
_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
990
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
990
        const IColumn& scale_column = *arguments.column;
704
705
990
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
990
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
990
                                  .get_element(0);
708
709
990
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
990
            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
990
        *scale = scale_arg;
716
990
        return Status::OK();
717
990
    }
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
366
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
366
        const IColumn& scale_column = *arguments.column;
704
705
366
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
366
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
366
                                  .get_element(0);
708
709
366
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
366
            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
366
        *scale = scale_arg;
716
366
        return Status::OK();
717
366
    }
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
22
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
22
        const IColumn& scale_column = *arguments.column;
704
705
22
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
22
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
22
                                  .get_element(0);
708
709
22
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
22
            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
22
        *scale = scale_arg;
716
22
        return Status::OK();
717
22
    }
_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
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_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
25
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
25
        const IColumn& scale_column = *arguments.column;
704
705
25
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
25
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
25
                                  .get_element(0);
708
709
25
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
25
            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
25
        *scale = scale_arg;
716
25
        return Status::OK();
717
25
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
194
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
194
        const IColumn& scale_column = *arguments.column;
704
705
194
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
194
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
194
                                  .get_element(0);
708
709
194
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
194
            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
194
        *scale = scale_arg;
716
194
        return Status::OK();
717
194
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_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_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_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
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
2
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
2
        const IColumn& scale_column = *arguments.column;
704
705
2
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
2
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
2
                                  .get_element(0);
708
709
2
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
2
            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
2
        *scale = scale_arg;
716
2
        return Status::OK();
717
2
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_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_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
702
2
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
703
2
        const IColumn& scale_column = *arguments.column;
704
705
2
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
706
2
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
707
2
                                  .get_element(0);
708
709
2
        if (scale_arg > std::numeric_limits<Int16>::max() ||
710
2
            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
2
        *scale = scale_arg;
716
2
        return Status::OK();
717
2
    }
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.89k
                        uint32_t result, size_t input_rows_count) const override {
721
2.89k
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
2.89k
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
2.89k
        const DataTypePtr result_type = block.get_by_position(result).type;
724
2.89k
        const bool is_col_general_const = is_column_const(*column_general.column);
725
2.89k
        const auto* col_general = is_col_general_const
726
2.89k
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
322
                                                    .get_data_column_ptr()
728
322
                                                    .get()
729
2.89k
                                          : column_general.column.get();
730
2.89k
        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.89k
        auto call = [&](const auto& types) -> bool {
739
2.89k
            using Types = std::decay_t<decltype(types)>;
740
2.89k
            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.89k
            Int16 result_scale = 0;
745
2.89k
            if constexpr (IsDataTypeDecimal<DataType>) {
746
2.10k
                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
18.4E
                    } else {
751
18.4E
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
18.4E
                                               "Illegal nullable column");
753
18.4E
                    }
754
1.12k
                } else {
755
981
                    result_scale = column_result.type->get_scale();
756
981
                }
757
2.10k
            }
758
759
2.89k
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
2.89k
                if (arguments.size() == 1 ||
761
2.89k
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
2.12k
                    Int16 scale_arg = 0;
764
2.12k
                    if (arguments.size() == 2) {
765
991
                        RETURN_IF_ERROR(
766
991
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
991
                    }
768
769
2.12k
                    res = Dispatcher<DataType::PType, rounding_mode,
770
2.12k
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
2.12k
                                                                         result_scale);
772
2.12k
                } else {
773
                    // the SECOND arugment is COLUMN
774
768
                    if (is_col_general_const) {
775
322
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
322
                                apply_const_vec(
777
322
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
322
                                        block.get_by_position(arguments[1]).column.get(),
779
322
                                        result_scale);
780
446
                    } else {
781
446
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
446
                                apply_vec_vec(col_general,
783
446
                                              block.get_by_position(arguments[1]).column.get(),
784
446
                                              result_scale);
785
446
                    }
786
768
                }
787
2.89k
                return true;
788
2.89k
            }
789
790
0
            return false;
791
2.89k
        };
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
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
            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
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
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
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
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
42
                return true;
788
42
            }
789
790
0
            return false;
791
42
        };
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
65
        auto call = [&](const auto& types) -> bool {
739
65
            using Types = std::decay_t<decltype(types)>;
740
65
            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
65
            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
65
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
65
                if (arguments.size() == 1 ||
761
66
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
66
                    Int16 scale_arg = 0;
764
66
                    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
66
                    res = Dispatcher<DataType::PType, rounding_mode,
770
66
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
66
                                                                         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
65
                return true;
788
65
            }
789
790
0
            return false;
791
65
        };
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
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
            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
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_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
12
        auto call = [&](const auto& types) -> bool {
739
12
            using Types = std::decay_t<decltype(types)>;
740
12
            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
12
            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
12
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
12
                if (arguments.size() == 1 ||
761
12
                    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
0
                        RETURN_IF_ERROR(
766
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
0
                    }
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
12
                } 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
12
                return true;
788
12
            }
789
790
0
            return false;
791
12
        };
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
16
        auto call = [&](const auto& types) -> bool {
739
16
            using Types = std::decay_t<decltype(types)>;
740
16
            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
16
            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
16
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
16
                if (arguments.size() == 1 ||
761
16
                    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
16
                } else {
773
                    // the SECOND arugment is COLUMN
774
16
                    if (is_col_general_const) {
775
8
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
8
                                apply_const_vec(
777
8
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
8
                                        block.get_by_position(arguments[1]).column.get(),
779
8
                                        result_scale);
780
8
                    } 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
16
                }
787
16
                return true;
788
16
            }
789
790
0
            return false;
791
16
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
64
        auto call = [&](const auto& types) -> bool {
739
64
            using Types = std::decay_t<decltype(types)>;
740
64
            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
64
            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
64
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
64
                if (arguments.size() == 1 ||
761
64
                    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
28
                    if (is_col_general_const) {
775
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
10
                                apply_const_vec(
777
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
10
                                        block.get_by_position(arguments[1]).column.get(),
779
10
                                        result_scale);
780
18
                    } else {
781
18
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
18
                                apply_vec_vec(col_general,
783
18
                                              block.get_by_position(arguments[1]).column.get(),
784
18
                                              result_scale);
785
18
                    }
786
28
                }
787
64
                return true;
788
64
            }
789
790
0
            return false;
791
64
        };
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
16
        auto call = [&](const auto& types) -> bool {
739
16
            using Types = std::decay_t<decltype(types)>;
740
16
            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
16
            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
16
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
16
                if (arguments.size() == 1 ||
761
16
                    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
16
                } else {
773
                    // the SECOND arugment is COLUMN
774
16
                    if (is_col_general_const) {
775
8
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
8
                                apply_const_vec(
777
8
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
8
                                        block.get_by_position(arguments[1]).column.get(),
779
8
                                        result_scale);
780
8
                    } 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
16
                }
787
16
                return true;
788
16
            }
789
790
0
            return false;
791
16
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
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
            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
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
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
27
                } else {
773
                    // the SECOND arugment is COLUMN
774
27
                    if (is_col_general_const) {
775
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
10
                                apply_const_vec(
777
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
10
                                        block.get_by_position(arguments[1]).column.get(),
779
10
                                        result_scale);
780
17
                    } else {
781
17
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
17
                                apply_vec_vec(col_general,
783
17
                                              block.get_by_position(arguments[1]).column.get(),
784
17
                                              result_scale);
785
17
                    }
786
27
                }
787
27
                return true;
788
27
            }
789
790
0
            return false;
791
27
        };
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
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
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
10
                                apply_const_vec(
777
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
10
                                        block.get_by_position(arguments[1]).column.get(),
779
10
                                        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
20
                }
787
20
                return true;
788
20
            }
789
790
0
            return false;
791
20
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
394
        auto call = [&](const auto& types) -> bool {
739
394
            using Types = std::decay_t<decltype(types)>;
740
394
            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
394
            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
394
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
394
                if (arguments.size() == 1 ||
761
395
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
367
                    Int16 scale_arg = 0;
764
367
                    if (arguments.size() == 2) {
765
367
                        RETURN_IF_ERROR(
766
367
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
367
                    }
768
769
367
                    res = Dispatcher<DataType::PType, rounding_mode,
770
367
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
367
                                                                         result_scale);
772
367
                } else {
773
                    // the SECOND arugment is COLUMN
774
27
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        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
27
                }
787
394
                return true;
788
394
            }
789
790
0
            return false;
791
394
        };
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
16
        auto call = [&](const auto& types) -> bool {
739
16
            using Types = std::decay_t<decltype(types)>;
740
16
            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
16
            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
16
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
16
                if (arguments.size() == 1 ||
761
16
                    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
16
                } else {
773
                    // the SECOND arugment is COLUMN
774
16
                    if (is_col_general_const) {
775
8
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
8
                                apply_const_vec(
777
8
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
8
                                        block.get_by_position(arguments[1]).column.get(),
779
8
                                        result_scale);
780
8
                    } 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
16
                }
787
16
                return true;
788
16
            }
789
790
0
            return false;
791
16
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
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
            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
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
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
30
                } else {
773
                    // the SECOND arugment is COLUMN
774
30
                    if (is_col_general_const) {
775
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
10
                                apply_const_vec(
777
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
10
                                        block.get_by_position(arguments[1]).column.get(),
779
10
                                        result_scale);
780
20
                    } else {
781
20
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
20
                                apply_vec_vec(col_general,
783
20
                                              block.get_by_position(arguments[1]).column.get(),
784
20
                                              result_scale);
785
20
                    }
786
30
                }
787
30
                return true;
788
30
            }
789
790
0
            return false;
791
30
        };
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
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
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
10
                                apply_const_vec(
777
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
10
                                        block.get_by_position(arguments[1]).column.get(),
779
10
                                        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
20
                }
787
20
                return true;
788
20
            }
789
790
0
            return false;
791
20
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
738
36
        auto call = [&](const auto& types) -> bool {
739
36
            using Types = std::decay_t<decltype(types)>;
740
36
            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
36
            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
36
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
36
                if (arguments.size() == 1 ||
761
36
                    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
28
                } else {
773
                    // the SECOND arugment is COLUMN
774
28
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        result_scale);
780
16
                    } else {
781
16
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
16
                                apply_vec_vec(col_general,
783
16
                                              block.get_by_position(arguments[1]).column.get(),
784
16
                                              result_scale);
785
16
                    }
786
28
                }
787
36
                return true;
788
36
            }
789
790
0
            return false;
791
36
        };
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
218
        auto call = [&](const auto& types) -> bool {
739
218
            using Types = std::decay_t<decltype(types)>;
740
218
            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
218
            Int16 result_scale = 0;
745
218
            if constexpr (IsDataTypeDecimal<DataType>) {
746
218
                if (column_result.type->is_nullable()) {
747
210
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
211
                                column_result.type)) {
749
211
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
18.4E
                    } else {
751
18.4E
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
18.4E
                                               "Illegal nullable column");
753
18.4E
                    }
754
210
                } else {
755
8
                    result_scale = column_result.type->get_scale();
756
8
                }
757
218
            }
758
759
219
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
218
                if (arguments.size() == 1 ||
761
218
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
218
                    Int16 scale_arg = 0;
764
218
                    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
218
                    res = Dispatcher<DataType::PType, rounding_mode,
770
218
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
218
                                                                         result_scale);
772
218
                } 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
218
                return true;
788
218
            }
789
790
0
            return false;
791
218
        };
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
481
        auto call = [&](const auto& types) -> bool {
739
481
            using Types = std::decay_t<decltype(types)>;
740
481
            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
481
            Int16 result_scale = 0;
745
481
            if constexpr (IsDataTypeDecimal<DataType>) {
746
481
                if (column_result.type->is_nullable()) {
747
250
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
250
                                column_result.type)) {
749
250
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
250
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
250
                } else {
755
231
                    result_scale = column_result.type->get_scale();
756
231
                }
757
481
            }
758
759
481
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
481
                if (arguments.size() == 1 ||
761
481
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
481
                    Int16 scale_arg = 0;
764
481
                    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
481
                    res = Dispatcher<DataType::PType, rounding_mode,
770
481
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
481
                                                                         result_scale);
772
481
                } 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
481
                return true;
788
481
            }
789
790
0
            return false;
791
481
        };
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
99
        auto call = [&](const auto& types) -> bool {
739
99
            using Types = std::decay_t<decltype(types)>;
740
99
            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
99
            Int16 result_scale = 0;
745
99
            if constexpr (IsDataTypeDecimal<DataType>) {
746
99
                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
73
                } else {
755
73
                    result_scale = column_result.type->get_scale();
756
73
                }
757
99
            }
758
759
99
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
99
                if (arguments.size() == 1 ||
761
99
                    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
69
                } else {
773
                    // the SECOND arugment is COLUMN
774
69
                    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
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
69
                }
787
99
                return true;
788
99
            }
789
790
0
            return false;
791
99
        };
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
93
        auto call = [&](const auto& types) -> bool {
739
93
            using Types = std::decay_t<decltype(types)>;
740
93
            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
93
            Int16 result_scale = 0;
745
93
            if constexpr (IsDataTypeDecimal<DataType>) {
746
93
                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
75
                } else {
755
75
                    result_scale = column_result.type->get_scale();
756
75
                }
757
93
            }
758
759
93
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
93
                if (arguments.size() == 1 ||
761
93
                    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
71
                } else {
773
                    // the SECOND arugment is COLUMN
774
71
                    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
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
71
                }
787
93
                return true;
788
93
            }
789
790
0
            return false;
791
93
        };
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
92
        auto call = [&](const auto& types) -> bool {
739
92
            using Types = std::decay_t<decltype(types)>;
740
92
            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
92
            Int16 result_scale = 0;
745
92
            if constexpr (IsDataTypeDecimal<DataType>) {
746
92
                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
72
                } else {
755
72
                    result_scale = column_result.type->get_scale();
756
72
                }
757
92
            }
758
759
92
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
92
                if (arguments.size() == 1 ||
761
92
                    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
71
                } else {
773
                    // the SECOND arugment is COLUMN
774
71
                    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
40
                    } else {
781
40
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
40
                                apply_vec_vec(col_general,
783
40
                                              block.get_by_position(arguments[1]).column.get(),
784
40
                                              result_scale);
785
40
                    }
786
71
                }
787
92
                return true;
788
92
            }
789
790
0
            return false;
791
92
        };
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
93
        auto call = [&](const auto& types) -> bool {
739
93
            using Types = std::decay_t<decltype(types)>;
740
93
            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
93
            Int16 result_scale = 0;
745
93
            if constexpr (IsDataTypeDecimal<DataType>) {
746
93
                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
76
                } else {
755
76
                    result_scale = column_result.type->get_scale();
756
76
                }
757
93
            }
758
759
93
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
93
                if (arguments.size() == 1 ||
761
93
                    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
72
                } else {
773
                    // the SECOND arugment is COLUMN
774
72
                    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
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
72
                }
787
93
                return true;
788
93
            }
789
790
0
            return false;
791
93
        };
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
82
        auto call = [&](const auto& types) -> bool {
739
82
            using Types = std::decay_t<decltype(types)>;
740
82
            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
82
            Int16 result_scale = 0;
745
82
            if constexpr (IsDataTypeDecimal<DataType>) {
746
82
                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
68
                } else {
755
68
                    result_scale = column_result.type->get_scale();
756
68
                }
757
82
            }
758
759
82
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
82
                if (arguments.size() == 1 ||
761
82
                    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
70
                } else {
773
                    // the SECOND arugment is COLUMN
774
70
                    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
40
                    } else {
781
40
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
40
                                apply_vec_vec(col_general,
783
40
                                              block.get_by_position(arguments[1]).column.get(),
784
40
                                              result_scale);
785
40
                    }
786
70
                }
787
82
                return true;
788
82
            }
789
790
0
            return false;
791
82
        };
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
60
        auto call = [&](const auto& types) -> bool {
739
60
            using Types = std::decay_t<decltype(types)>;
740
60
            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
60
            Int16 result_scale = 0;
745
60
            if constexpr (IsDataTypeDecimal<DataType>) {
746
60
                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
29
                    result_scale = column_result.type->get_scale();
756
29
                }
757
60
            }
758
759
60
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
60
                if (arguments.size() == 1 ||
761
60
                    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
34
                } else {
773
                    // the SECOND arugment is COLUMN
774
34
                    if (is_col_general_const) {
775
20
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
20
                                apply_const_vec(
777
20
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
20
                                        block.get_by_position(arguments[1]).column.get(),
779
20
                                        result_scale);
780
20
                    } 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
34
                }
787
60
                return true;
788
60
            }
789
790
0
            return false;
791
60
        };
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
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
54
            if constexpr (IsDataTypeDecimal<DataType>) {
746
54
                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
32
                } else {
755
32
                    result_scale = column_result.type->get_scale();
756
32
                }
757
54
            }
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
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
33
                } else {
773
                    // the SECOND arugment is COLUMN
774
33
                    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
20
                    } else {
781
20
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
20
                                apply_vec_vec(col_general,
783
20
                                              block.get_by_position(arguments[1]).column.get(),
784
20
                                              result_scale);
785
20
                    }
786
33
                }
787
54
                return true;
788
54
            }
789
790
0
            return false;
791
54
        };
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
124
        auto call = [&](const auto& types) -> bool {
739
124
            using Types = std::decay_t<decltype(types)>;
740
124
            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
124
            Int16 result_scale = 0;
745
124
            if constexpr (IsDataTypeDecimal<DataType>) {
746
124
                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
92
                } else {
755
92
                    result_scale = column_result.type->get_scale();
756
92
                }
757
124
            }
758
759
124
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
124
                if (arguments.size() == 1 ||
761
124
                    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
32
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        result_scale);
780
20
                    } else {
781
20
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
20
                                apply_vec_vec(col_general,
783
20
                                              block.get_by_position(arguments[1]).column.get(),
784
20
                                              result_scale);
785
20
                    }
786
32
                }
787
124
                return true;
788
124
            }
789
790
0
            return false;
791
124
        };
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
51
        auto call = [&](const auto& types) -> bool {
739
51
            using Types = std::decay_t<decltype(types)>;
740
51
            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
51
            Int16 result_scale = 0;
745
51
            if constexpr (IsDataTypeDecimal<DataType>) {
746
51
                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
33
                } else {
755
33
                    result_scale = column_result.type->get_scale();
756
33
                }
757
51
            }
758
759
51
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
51
                if (arguments.size() == 1 ||
761
51
                    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
31
                } else {
773
                    // the SECOND arugment is COLUMN
774
31
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        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
31
                }
787
51
                return true;
788
51
            }
789
790
0
            return false;
791
51
        };
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
44
        auto call = [&](const auto& types) -> bool {
739
44
            using Types = std::decay_t<decltype(types)>;
740
44
            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
44
            Int16 result_scale = 0;
745
44
            if constexpr (IsDataTypeDecimal<DataType>) {
746
44
                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
28
                } else {
755
28
                    result_scale = column_result.type->get_scale();
756
28
                }
757
44
            }
758
759
44
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
44
                if (arguments.size() == 1 ||
761
44
                    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
32
                } else {
773
                    // the SECOND arugment is COLUMN
774
32
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        result_scale);
780
20
                    } else {
781
20
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
20
                                apply_vec_vec(col_general,
783
20
                                              block.get_by_position(arguments[1]).column.get(),
784
20
                                              result_scale);
785
20
                    }
786
32
                }
787
44
                return true;
788
44
            }
789
790
0
            return false;
791
44
        };
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
33
        auto call = [&](const auto& types) -> bool {
739
33
            using Types = std::decay_t<decltype(types)>;
740
33
            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
33
            Int16 result_scale = 0;
745
33
            if constexpr (IsDataTypeDecimal<DataType>) {
746
33
                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
14
                    result_scale = column_result.type->get_scale();
756
14
                }
757
33
            }
758
759
33
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
33
                if (arguments.size() == 1 ||
761
33
                    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
8
                    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
6
                    } else {
781
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
6
                                apply_vec_vec(col_general,
783
6
                                              block.get_by_position(arguments[1]).column.get(),
784
6
                                              result_scale);
785
6
                    }
786
8
                }
787
33
                return true;
788
33
            }
789
790
0
            return false;
791
33
        };
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
199
        auto call = [&](const auto& types) -> bool {
739
199
            using Types = std::decay_t<decltype(types)>;
740
199
            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
199
            Int16 result_scale = 0;
745
199
            if constexpr (IsDataTypeDecimal<DataType>) {
746
199
                if (column_result.type->is_nullable()) {
747
185
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
185
                                column_result.type)) {
749
185
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
185
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
185
                } else {
755
14
                    result_scale = column_result.type->get_scale();
756
14
                }
757
199
            }
758
759
199
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
199
                if (arguments.size() == 1 ||
761
199
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
194
                    Int16 scale_arg = 0;
764
194
                    if (arguments.size() == 2) {
765
194
                        RETURN_IF_ERROR(
766
194
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
194
                    }
768
769
194
                    res = Dispatcher<DataType::PType, rounding_mode,
770
194
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
194
                                                                         result_scale);
772
194
                } 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
199
                return true;
788
199
            }
789
790
0
            return false;
791
199
        };
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
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
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
14
                    result_scale = column_result.type->get_scale();
756
14
                }
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
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
7
                    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
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
7
                }
787
31
                return true;
788
31
            }
789
790
0
            return false;
791
31
        };
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
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
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
8
                    result_scale = column_result.type->get_scale();
756
8
                }
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
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
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
24
                return true;
788
24
            }
789
790
0
            return false;
791
24
        };
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
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
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
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
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_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
12
        auto call = [&](const auto& types) -> bool {
739
12
            using Types = std::decay_t<decltype(types)>;
740
12
            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
12
            Int16 result_scale = 0;
745
12
            if constexpr (IsDataTypeDecimal<DataType>) {
746
12
                if (column_result.type->is_nullable()) {
747
12
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
12
                                column_result.type)) {
749
12
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
12
                    } else {
751
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
0
                                               "Illegal nullable column");
753
0
                    }
754
12
                } else {
755
0
                    result_scale = column_result.type->get_scale();
756
0
                }
757
12
            }
758
759
12
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
12
                if (arguments.size() == 1 ||
761
12
                    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
12
                } 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
12
                return true;
788
12
            }
789
790
0
            return false;
791
12
        };
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
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
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
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
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_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.89k
        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.89k
        column_result.column = std::move(res);
809
2.89k
        return Status::OK();
810
2.89k
    }
_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
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
0
                                                    .get_data_column_ptr()
728
0
                                                    .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_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
66
                        uint32_t result, size_t input_rows_count) const override {
721
66
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
66
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
66
        const DataTypePtr result_type = block.get_by_position(result).type;
724
66
        const bool is_col_general_const = is_column_const(*column_general.column);
725
66
        const auto* col_general = is_col_general_const
726
66
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
66
                                          : column_general.column.get();
730
66
        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
66
        auto call = [&](const auto& types) -> bool {
739
66
            using Types = std::decay_t<decltype(types)>;
740
66
            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
66
            Int16 result_scale = 0;
745
66
            if constexpr (IsDataTypeDecimal<DataType>) {
746
66
                if (column_result.type->is_nullable()) {
747
66
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
66
                                column_result.type)) {
749
66
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
66
                    } else {
751
66
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
66
                                               "Illegal nullable column");
753
66
                    }
754
66
                } else {
755
66
                    result_scale = column_result.type->get_scale();
756
66
                }
757
66
            }
758
759
66
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
66
                if (arguments.size() == 1 ||
761
66
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
66
                    Int16 scale_arg = 0;
764
66
                    if (arguments.size() == 2) {
765
66
                        RETURN_IF_ERROR(
766
66
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
66
                    }
768
769
66
                    res = Dispatcher<DataType::PType, rounding_mode,
770
66
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
66
                                                                         result_scale);
772
66
                } else {
773
                    // the SECOND arugment is COLUMN
774
66
                    if (is_col_general_const) {
775
66
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
66
                                apply_const_vec(
777
66
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
66
                                        block.get_by_position(arguments[1]).column.get(),
779
66
                                        result_scale);
780
66
                    } else {
781
66
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
66
                                apply_vec_vec(col_general,
783
66
                                              block.get_by_position(arguments[1]).column.get(),
784
66
                                              result_scale);
785
66
                    }
786
66
                }
787
66
                return true;
788
66
            }
789
790
66
            return false;
791
66
        };
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
66
        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
66
        column_result.column = std::move(res);
809
66
        return Status::OK();
810
66
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_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_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
12
                        uint32_t result, size_t input_rows_count) const override {
721
12
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
12
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
12
        const DataTypePtr result_type = block.get_by_position(result).type;
724
12
        const bool is_col_general_const = is_column_const(*column_general.column);
725
12
        const auto* col_general = is_col_general_const
726
12
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
12
                                          : column_general.column.get();
730
12
        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
12
        auto call = [&](const auto& types) -> bool {
739
12
            using Types = std::decay_t<decltype(types)>;
740
12
            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
12
            Int16 result_scale = 0;
745
12
            if constexpr (IsDataTypeDecimal<DataType>) {
746
12
                if (column_result.type->is_nullable()) {
747
12
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
12
                                column_result.type)) {
749
12
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
12
                    } else {
751
12
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
12
                                               "Illegal nullable column");
753
12
                    }
754
12
                } else {
755
12
                    result_scale = column_result.type->get_scale();
756
12
                }
757
12
            }
758
759
12
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
12
                if (arguments.size() == 1 ||
761
12
                    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
12
                } else {
773
                    // the SECOND arugment is COLUMN
774
12
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        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
12
                }
787
12
                return true;
788
12
            }
789
790
12
            return false;
791
12
        };
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
12
        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
12
        column_result.column = std::move(res);
809
12
        return Status::OK();
810
12
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
80
                        uint32_t result, size_t input_rows_count) const override {
721
80
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
80
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
80
        const DataTypePtr result_type = block.get_by_position(result).type;
724
80
        const bool is_col_general_const = is_column_const(*column_general.column);
725
80
        const auto* col_general = is_col_general_const
726
80
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
18
                                                    .get_data_column_ptr()
728
18
                                                    .get()
729
80
                                          : column_general.column.get();
730
80
        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
80
        auto call = [&](const auto& types) -> bool {
739
80
            using Types = std::decay_t<decltype(types)>;
740
80
            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
80
            Int16 result_scale = 0;
745
80
            if constexpr (IsDataTypeDecimal<DataType>) {
746
80
                if (column_result.type->is_nullable()) {
747
80
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
80
                                column_result.type)) {
749
80
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
80
                    } else {
751
80
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
80
                                               "Illegal nullable column");
753
80
                    }
754
80
                } else {
755
80
                    result_scale = column_result.type->get_scale();
756
80
                }
757
80
            }
758
759
80
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
80
                if (arguments.size() == 1 ||
761
80
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
80
                    Int16 scale_arg = 0;
764
80
                    if (arguments.size() == 2) {
765
80
                        RETURN_IF_ERROR(
766
80
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
80
                    }
768
769
80
                    res = Dispatcher<DataType::PType, rounding_mode,
770
80
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
80
                                                                         result_scale);
772
80
                } else {
773
                    // the SECOND arugment is COLUMN
774
80
                    if (is_col_general_const) {
775
80
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
80
                                apply_const_vec(
777
80
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
80
                                        block.get_by_position(arguments[1]).column.get(),
779
80
                                        result_scale);
780
80
                    } else {
781
80
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
80
                                apply_vec_vec(col_general,
783
80
                                              block.get_by_position(arguments[1]).column.get(),
784
80
                                              result_scale);
785
80
                    }
786
80
                }
787
80
                return true;
788
80
            }
789
790
80
            return false;
791
80
        };
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
80
        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
80
        column_result.column = std::move(res);
809
80
        return Status::OK();
810
80
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
43
                        uint32_t result, size_t input_rows_count) const override {
721
43
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
43
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
43
        const DataTypePtr result_type = block.get_by_position(result).type;
724
43
        const bool is_col_general_const = is_column_const(*column_general.column);
725
43
        const auto* col_general = is_col_general_const
726
43
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
18
                                                    .get_data_column_ptr()
728
18
                                                    .get()
729
43
                                          : column_general.column.get();
730
43
        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
43
        auto call = [&](const auto& types) -> bool {
739
43
            using Types = std::decay_t<decltype(types)>;
740
43
            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
43
            Int16 result_scale = 0;
745
43
            if constexpr (IsDataTypeDecimal<DataType>) {
746
43
                if (column_result.type->is_nullable()) {
747
43
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
43
                                column_result.type)) {
749
43
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
43
                    } else {
751
43
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
43
                                               "Illegal nullable column");
753
43
                    }
754
43
                } else {
755
43
                    result_scale = column_result.type->get_scale();
756
43
                }
757
43
            }
758
759
43
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
43
                if (arguments.size() == 1 ||
761
43
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
43
                    Int16 scale_arg = 0;
764
43
                    if (arguments.size() == 2) {
765
43
                        RETURN_IF_ERROR(
766
43
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
43
                    }
768
769
43
                    res = Dispatcher<DataType::PType, rounding_mode,
770
43
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
43
                                                                         result_scale);
772
43
                } else {
773
                    // the SECOND arugment is COLUMN
774
43
                    if (is_col_general_const) {
775
43
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
43
                                apply_const_vec(
777
43
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
43
                                        block.get_by_position(arguments[1]).column.get(),
779
43
                                        result_scale);
780
43
                    } else {
781
43
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
43
                                apply_vec_vec(col_general,
783
43
                                              block.get_by_position(arguments[1]).column.get(),
784
43
                                              result_scale);
785
43
                    }
786
43
                }
787
43
                return true;
788
43
            }
789
790
43
            return false;
791
43
        };
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
43
        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
43
        column_result.column = std::move(res);
809
43
        return Status::OK();
810
43
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
414
                        uint32_t result, size_t input_rows_count) const override {
721
414
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
414
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
414
        const DataTypePtr result_type = block.get_by_position(result).type;
724
414
        const bool is_col_general_const = is_column_const(*column_general.column);
725
414
        const auto* col_general = is_col_general_const
726
414
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
22
                                                    .get_data_column_ptr()
728
22
                                                    .get()
729
414
                                          : column_general.column.get();
730
414
        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
414
        auto call = [&](const auto& types) -> bool {
739
414
            using Types = std::decay_t<decltype(types)>;
740
414
            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
414
            Int16 result_scale = 0;
745
414
            if constexpr (IsDataTypeDecimal<DataType>) {
746
414
                if (column_result.type->is_nullable()) {
747
414
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
414
                                column_result.type)) {
749
414
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
414
                    } else {
751
414
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
414
                                               "Illegal nullable column");
753
414
                    }
754
414
                } else {
755
414
                    result_scale = column_result.type->get_scale();
756
414
                }
757
414
            }
758
759
414
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
414
                if (arguments.size() == 1 ||
761
414
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
414
                    Int16 scale_arg = 0;
764
414
                    if (arguments.size() == 2) {
765
414
                        RETURN_IF_ERROR(
766
414
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
414
                    }
768
769
414
                    res = Dispatcher<DataType::PType, rounding_mode,
770
414
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
414
                                                                         result_scale);
772
414
                } else {
773
                    // the SECOND arugment is COLUMN
774
414
                    if (is_col_general_const) {
775
414
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
414
                                apply_const_vec(
777
414
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
414
                                        block.get_by_position(arguments[1]).column.get(),
779
414
                                        result_scale);
780
414
                    } else {
781
414
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
414
                                apply_vec_vec(col_general,
783
414
                                              block.get_by_position(arguments[1]).column.get(),
784
414
                                              result_scale);
785
414
                    }
786
414
                }
787
414
                return true;
788
414
            }
789
790
414
            return false;
791
414
        };
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
414
        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
414
        column_result.column = std::move(res);
809
414
        return Status::OK();
810
414
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
46
                        uint32_t result, size_t input_rows_count) const override {
721
46
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
46
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
46
        const DataTypePtr result_type = block.get_by_position(result).type;
724
46
        const bool is_col_general_const = is_column_const(*column_general.column);
725
46
        const auto* col_general = is_col_general_const
726
46
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
18
                                                    .get_data_column_ptr()
728
18
                                                    .get()
729
46
                                          : column_general.column.get();
730
46
        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
46
        auto call = [&](const auto& types) -> bool {
739
46
            using Types = std::decay_t<decltype(types)>;
740
46
            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
46
            Int16 result_scale = 0;
745
46
            if constexpr (IsDataTypeDecimal<DataType>) {
746
46
                if (column_result.type->is_nullable()) {
747
46
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
46
                                column_result.type)) {
749
46
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
46
                    } else {
751
46
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
46
                                               "Illegal nullable column");
753
46
                    }
754
46
                } else {
755
46
                    result_scale = column_result.type->get_scale();
756
46
                }
757
46
            }
758
759
46
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
46
                if (arguments.size() == 1 ||
761
46
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
46
                    Int16 scale_arg = 0;
764
46
                    if (arguments.size() == 2) {
765
46
                        RETURN_IF_ERROR(
766
46
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
46
                    }
768
769
46
                    res = Dispatcher<DataType::PType, rounding_mode,
770
46
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
46
                                                                         result_scale);
772
46
                } else {
773
                    // the SECOND arugment is COLUMN
774
46
                    if (is_col_general_const) {
775
46
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
46
                                apply_const_vec(
777
46
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
46
                                        block.get_by_position(arguments[1]).column.get(),
779
46
                                        result_scale);
780
46
                    } else {
781
46
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
46
                                apply_vec_vec(col_general,
783
46
                                              block.get_by_position(arguments[1]).column.get(),
784
46
                                              result_scale);
785
46
                    }
786
46
                }
787
46
                return true;
788
46
            }
789
790
46
            return false;
791
46
        };
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
46
        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
46
        column_result.column = std::move(res);
809
46
        return Status::OK();
810
46
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
56
                        uint32_t result, size_t input_rows_count) const override {
721
56
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
56
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
56
        const DataTypePtr result_type = block.get_by_position(result).type;
724
56
        const bool is_col_general_const = is_column_const(*column_general.column);
725
56
        const auto* col_general = is_col_general_const
726
56
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
22
                                                    .get_data_column_ptr()
728
22
                                                    .get()
729
56
                                          : column_general.column.get();
730
56
        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
56
        auto call = [&](const auto& types) -> bool {
739
56
            using Types = std::decay_t<decltype(types)>;
740
56
            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
56
            Int16 result_scale = 0;
745
56
            if constexpr (IsDataTypeDecimal<DataType>) {
746
56
                if (column_result.type->is_nullable()) {
747
56
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
56
                                column_result.type)) {
749
56
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
56
                    } else {
751
56
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
56
                                               "Illegal nullable column");
753
56
                    }
754
56
                } else {
755
56
                    result_scale = column_result.type->get_scale();
756
56
                }
757
56
            }
758
759
56
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
56
                if (arguments.size() == 1 ||
761
56
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
56
                    Int16 scale_arg = 0;
764
56
                    if (arguments.size() == 2) {
765
56
                        RETURN_IF_ERROR(
766
56
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
56
                    }
768
769
56
                    res = Dispatcher<DataType::PType, rounding_mode,
770
56
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
56
                                                                         result_scale);
772
56
                } else {
773
                    // the SECOND arugment is COLUMN
774
56
                    if (is_col_general_const) {
775
56
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
56
                                apply_const_vec(
777
56
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
56
                                        block.get_by_position(arguments[1]).column.get(),
779
56
                                        result_scale);
780
56
                    } else {
781
56
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
56
                                apply_vec_vec(col_general,
783
56
                                              block.get_by_position(arguments[1]).column.get(),
784
56
                                              result_scale);
785
56
                    }
786
56
                }
787
56
                return true;
788
56
            }
789
790
56
            return false;
791
56
        };
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
56
        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
56
        column_result.column = std::move(res);
809
56
        return Status::OK();
810
56
    }
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
219
                        uint32_t result, size_t input_rows_count) const override {
721
219
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
219
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
219
        const DataTypePtr result_type = block.get_by_position(result).type;
724
219
        const bool is_col_general_const = is_column_const(*column_general.column);
725
219
        const auto* col_general = is_col_general_const
726
219
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
219
                                          : column_general.column.get();
730
219
        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
219
        auto call = [&](const auto& types) -> bool {
739
219
            using Types = std::decay_t<decltype(types)>;
740
219
            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
219
            Int16 result_scale = 0;
745
219
            if constexpr (IsDataTypeDecimal<DataType>) {
746
219
                if (column_result.type->is_nullable()) {
747
219
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
219
                                column_result.type)) {
749
219
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
219
                    } else {
751
219
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
219
                                               "Illegal nullable column");
753
219
                    }
754
219
                } else {
755
219
                    result_scale = column_result.type->get_scale();
756
219
                }
757
219
            }
758
759
219
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
219
                if (arguments.size() == 1 ||
761
219
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
219
                    Int16 scale_arg = 0;
764
219
                    if (arguments.size() == 2) {
765
219
                        RETURN_IF_ERROR(
766
219
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
219
                    }
768
769
219
                    res = Dispatcher<DataType::PType, rounding_mode,
770
219
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
219
                                                                         result_scale);
772
219
                } else {
773
                    // the SECOND arugment is COLUMN
774
219
                    if (is_col_general_const) {
775
219
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
219
                                apply_const_vec(
777
219
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
219
                                        block.get_by_position(arguments[1]).column.get(),
779
219
                                        result_scale);
780
219
                    } else {
781
219
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
219
                                apply_vec_vec(col_general,
783
219
                                              block.get_by_position(arguments[1]).column.get(),
784
219
                                              result_scale);
785
219
                    }
786
219
                }
787
219
                return true;
788
219
            }
789
790
219
            return false;
791
219
        };
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
219
        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
219
        column_result.column = std::move(res);
809
219
        return Status::OK();
810
219
    }
_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
481
                        uint32_t result, size_t input_rows_count) const override {
721
481
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
481
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
481
        const DataTypePtr result_type = block.get_by_position(result).type;
724
481
        const bool is_col_general_const = is_column_const(*column_general.column);
725
481
        const auto* col_general = is_col_general_const
726
481
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
481
                                          : column_general.column.get();
730
481
        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
481
        auto call = [&](const auto& types) -> bool {
739
481
            using Types = std::decay_t<decltype(types)>;
740
481
            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
481
            Int16 result_scale = 0;
745
481
            if constexpr (IsDataTypeDecimal<DataType>) {
746
481
                if (column_result.type->is_nullable()) {
747
481
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
481
                                column_result.type)) {
749
481
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
481
                    } else {
751
481
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
481
                                               "Illegal nullable column");
753
481
                    }
754
481
                } else {
755
481
                    result_scale = column_result.type->get_scale();
756
481
                }
757
481
            }
758
759
481
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
481
                if (arguments.size() == 1 ||
761
481
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
481
                    Int16 scale_arg = 0;
764
481
                    if (arguments.size() == 2) {
765
481
                        RETURN_IF_ERROR(
766
481
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
481
                    }
768
769
481
                    res = Dispatcher<DataType::PType, rounding_mode,
770
481
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
481
                                                                         result_scale);
772
481
                } else {
773
                    // the SECOND arugment is COLUMN
774
481
                    if (is_col_general_const) {
775
481
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
481
                                apply_const_vec(
777
481
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
481
                                        block.get_by_position(arguments[1]).column.get(),
779
481
                                        result_scale);
780
481
                    } else {
781
481
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
481
                                apply_vec_vec(col_general,
783
481
                                              block.get_by_position(arguments[1]).column.get(),
784
481
                                              result_scale);
785
481
                    }
786
481
                }
787
481
                return true;
788
481
            }
789
790
481
            return false;
791
481
        };
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
481
        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
481
        column_result.column = std::move(res);
809
481
        return Status::OK();
810
481
    }
_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
99
                        uint32_t result, size_t input_rows_count) const override {
721
99
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
99
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
99
        const DataTypePtr result_type = block.get_by_position(result).type;
724
99
        const bool is_col_general_const = is_column_const(*column_general.column);
725
99
        const auto* col_general = is_col_general_const
726
99
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
30
                                                    .get_data_column_ptr()
728
30
                                                    .get()
729
99
                                          : column_general.column.get();
730
99
        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
99
        auto call = [&](const auto& types) -> bool {
739
99
            using Types = std::decay_t<decltype(types)>;
740
99
            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
99
            Int16 result_scale = 0;
745
99
            if constexpr (IsDataTypeDecimal<DataType>) {
746
99
                if (column_result.type->is_nullable()) {
747
99
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
99
                                column_result.type)) {
749
99
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
99
                    } else {
751
99
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
99
                                               "Illegal nullable column");
753
99
                    }
754
99
                } else {
755
99
                    result_scale = column_result.type->get_scale();
756
99
                }
757
99
            }
758
759
99
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
99
                if (arguments.size() == 1 ||
761
99
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
99
                    Int16 scale_arg = 0;
764
99
                    if (arguments.size() == 2) {
765
99
                        RETURN_IF_ERROR(
766
99
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
99
                    }
768
769
99
                    res = Dispatcher<DataType::PType, rounding_mode,
770
99
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
99
                                                                         result_scale);
772
99
                } else {
773
                    // the SECOND arugment is COLUMN
774
99
                    if (is_col_general_const) {
775
99
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
99
                                apply_const_vec(
777
99
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
99
                                        block.get_by_position(arguments[1]).column.get(),
779
99
                                        result_scale);
780
99
                    } else {
781
99
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
99
                                apply_vec_vec(col_general,
783
99
                                              block.get_by_position(arguments[1]).column.get(),
784
99
                                              result_scale);
785
99
                    }
786
99
                }
787
99
                return true;
788
99
            }
789
790
99
            return false;
791
99
        };
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
99
        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
99
        column_result.column = std::move(res);
809
99
        return Status::OK();
810
99
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
93
                        uint32_t result, size_t input_rows_count) const override {
721
93
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
93
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
93
        const DataTypePtr result_type = block.get_by_position(result).type;
724
93
        const bool is_col_general_const = is_column_const(*column_general.column);
725
93
        const auto* col_general = is_col_general_const
726
93
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
30
                                                    .get_data_column_ptr()
728
30
                                                    .get()
729
93
                                          : column_general.column.get();
730
93
        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
93
        auto call = [&](const auto& types) -> bool {
739
93
            using Types = std::decay_t<decltype(types)>;
740
93
            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
93
            Int16 result_scale = 0;
745
93
            if constexpr (IsDataTypeDecimal<DataType>) {
746
93
                if (column_result.type->is_nullable()) {
747
93
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
93
                                column_result.type)) {
749
93
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
93
                    } else {
751
93
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
93
                                               "Illegal nullable column");
753
93
                    }
754
93
                } else {
755
93
                    result_scale = column_result.type->get_scale();
756
93
                }
757
93
            }
758
759
93
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
93
                if (arguments.size() == 1 ||
761
93
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
93
                    Int16 scale_arg = 0;
764
93
                    if (arguments.size() == 2) {
765
93
                        RETURN_IF_ERROR(
766
93
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
93
                    }
768
769
93
                    res = Dispatcher<DataType::PType, rounding_mode,
770
93
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
93
                                                                         result_scale);
772
93
                } else {
773
                    // the SECOND arugment is COLUMN
774
93
                    if (is_col_general_const) {
775
93
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
93
                                apply_const_vec(
777
93
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
93
                                        block.get_by_position(arguments[1]).column.get(),
779
93
                                        result_scale);
780
93
                    } else {
781
93
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
93
                                apply_vec_vec(col_general,
783
93
                                              block.get_by_position(arguments[1]).column.get(),
784
93
                                              result_scale);
785
93
                    }
786
93
                }
787
93
                return true;
788
93
            }
789
790
93
            return false;
791
93
        };
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
93
        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
93
        column_result.column = std::move(res);
809
93
        return Status::OK();
810
93
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
92
                        uint32_t result, size_t input_rows_count) const override {
721
92
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
92
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
92
        const DataTypePtr result_type = block.get_by_position(result).type;
724
92
        const bool is_col_general_const = is_column_const(*column_general.column);
725
92
        const auto* col_general = is_col_general_const
726
92
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
31
                                                    .get_data_column_ptr()
728
31
                                                    .get()
729
92
                                          : column_general.column.get();
730
92
        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
92
        auto call = [&](const auto& types) -> bool {
739
92
            using Types = std::decay_t<decltype(types)>;
740
92
            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
92
            Int16 result_scale = 0;
745
92
            if constexpr (IsDataTypeDecimal<DataType>) {
746
92
                if (column_result.type->is_nullable()) {
747
92
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
92
                                column_result.type)) {
749
92
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
92
                    } else {
751
92
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
92
                                               "Illegal nullable column");
753
92
                    }
754
92
                } else {
755
92
                    result_scale = column_result.type->get_scale();
756
92
                }
757
92
            }
758
759
92
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
92
                if (arguments.size() == 1 ||
761
92
                    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
92
                    if (is_col_general_const) {
775
92
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
92
                                apply_const_vec(
777
92
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
92
                                        block.get_by_position(arguments[1]).column.get(),
779
92
                                        result_scale);
780
92
                    } else {
781
92
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
92
                                apply_vec_vec(col_general,
783
92
                                              block.get_by_position(arguments[1]).column.get(),
784
92
                                              result_scale);
785
92
                    }
786
92
                }
787
92
                return true;
788
92
            }
789
790
92
            return false;
791
92
        };
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
92
        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
92
        column_result.column = std::move(res);
809
92
        return Status::OK();
810
92
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
93
                        uint32_t result, size_t input_rows_count) const override {
721
93
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
93
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
93
        const DataTypePtr result_type = block.get_by_position(result).type;
724
93
        const bool is_col_general_const = is_column_const(*column_general.column);
725
93
        const auto* col_general = is_col_general_const
726
93
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
30
                                                    .get_data_column_ptr()
728
30
                                                    .get()
729
93
                                          : column_general.column.get();
730
93
        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
93
        auto call = [&](const auto& types) -> bool {
739
93
            using Types = std::decay_t<decltype(types)>;
740
93
            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
93
            Int16 result_scale = 0;
745
93
            if constexpr (IsDataTypeDecimal<DataType>) {
746
93
                if (column_result.type->is_nullable()) {
747
93
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
93
                                column_result.type)) {
749
93
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
93
                    } else {
751
93
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
93
                                               "Illegal nullable column");
753
93
                    }
754
93
                } else {
755
93
                    result_scale = column_result.type->get_scale();
756
93
                }
757
93
            }
758
759
93
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
93
                if (arguments.size() == 1 ||
761
93
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
93
                    Int16 scale_arg = 0;
764
93
                    if (arguments.size() == 2) {
765
93
                        RETURN_IF_ERROR(
766
93
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
93
                    }
768
769
93
                    res = Dispatcher<DataType::PType, rounding_mode,
770
93
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
93
                                                                         result_scale);
772
93
                } else {
773
                    // the SECOND arugment is COLUMN
774
93
                    if (is_col_general_const) {
775
93
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
93
                                apply_const_vec(
777
93
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
93
                                        block.get_by_position(arguments[1]).column.get(),
779
93
                                        result_scale);
780
93
                    } else {
781
93
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
93
                                apply_vec_vec(col_general,
783
93
                                              block.get_by_position(arguments[1]).column.get(),
784
93
                                              result_scale);
785
93
                    }
786
93
                }
787
93
                return true;
788
93
            }
789
790
93
            return false;
791
93
        };
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
93
        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
93
        column_result.column = std::move(res);
809
93
        return Status::OK();
810
93
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
82
                        uint32_t result, size_t input_rows_count) const override {
721
82
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
82
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
82
        const DataTypePtr result_type = block.get_by_position(result).type;
724
82
        const bool is_col_general_const = is_column_const(*column_general.column);
725
82
        const auto* col_general = is_col_general_const
726
82
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
30
                                                    .get_data_column_ptr()
728
30
                                                    .get()
729
82
                                          : column_general.column.get();
730
82
        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
82
        auto call = [&](const auto& types) -> bool {
739
82
            using Types = std::decay_t<decltype(types)>;
740
82
            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
82
            Int16 result_scale = 0;
745
82
            if constexpr (IsDataTypeDecimal<DataType>) {
746
82
                if (column_result.type->is_nullable()) {
747
82
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
82
                                column_result.type)) {
749
82
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
82
                    } else {
751
82
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
82
                                               "Illegal nullable column");
753
82
                    }
754
82
                } else {
755
82
                    result_scale = column_result.type->get_scale();
756
82
                }
757
82
            }
758
759
82
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
82
                if (arguments.size() == 1 ||
761
82
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
82
                    Int16 scale_arg = 0;
764
82
                    if (arguments.size() == 2) {
765
82
                        RETURN_IF_ERROR(
766
82
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
82
                    }
768
769
82
                    res = Dispatcher<DataType::PType, rounding_mode,
770
82
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
82
                                                                         result_scale);
772
82
                } else {
773
                    // the SECOND arugment is COLUMN
774
82
                    if (is_col_general_const) {
775
82
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
82
                                apply_const_vec(
777
82
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
82
                                        block.get_by_position(arguments[1]).column.get(),
779
82
                                        result_scale);
780
82
                    } else {
781
82
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
82
                                apply_vec_vec(col_general,
783
82
                                              block.get_by_position(arguments[1]).column.get(),
784
82
                                              result_scale);
785
82
                    }
786
82
                }
787
82
                return true;
788
82
            }
789
790
82
            return false;
791
82
        };
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
82
        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
82
        column_result.column = std::move(res);
809
82
        return Status::OK();
810
82
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
60
                        uint32_t result, size_t input_rows_count) const override {
721
60
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
60
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
60
        const DataTypePtr result_type = block.get_by_position(result).type;
724
60
        const bool is_col_general_const = is_column_const(*column_general.column);
725
60
        const auto* col_general = is_col_general_const
726
60
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
20
                                                    .get_data_column_ptr()
728
20
                                                    .get()
729
60
                                          : column_general.column.get();
730
60
        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
60
        auto call = [&](const auto& types) -> bool {
739
60
            using Types = std::decay_t<decltype(types)>;
740
60
            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
60
            Int16 result_scale = 0;
745
60
            if constexpr (IsDataTypeDecimal<DataType>) {
746
60
                if (column_result.type->is_nullable()) {
747
60
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
60
                                column_result.type)) {
749
60
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
60
                    } else {
751
60
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
60
                                               "Illegal nullable column");
753
60
                    }
754
60
                } else {
755
60
                    result_scale = column_result.type->get_scale();
756
60
                }
757
60
            }
758
759
60
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
60
                if (arguments.size() == 1 ||
761
60
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
60
                    Int16 scale_arg = 0;
764
60
                    if (arguments.size() == 2) {
765
60
                        RETURN_IF_ERROR(
766
60
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
60
                    }
768
769
60
                    res = Dispatcher<DataType::PType, rounding_mode,
770
60
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
60
                                                                         result_scale);
772
60
                } else {
773
                    // the SECOND arugment is COLUMN
774
60
                    if (is_col_general_const) {
775
60
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
60
                                apply_const_vec(
777
60
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
60
                                        block.get_by_position(arguments[1]).column.get(),
779
60
                                        result_scale);
780
60
                    } else {
781
60
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
60
                                apply_vec_vec(col_general,
783
60
                                              block.get_by_position(arguments[1]).column.get(),
784
60
                                              result_scale);
785
60
                    }
786
60
                }
787
60
                return true;
788
60
            }
789
790
60
            return false;
791
60
        };
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
60
        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
60
        column_result.column = std::move(res);
809
60
        return Status::OK();
810
60
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
54
                        uint32_t result, size_t input_rows_count) const override {
721
54
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
54
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
54
        const DataTypePtr result_type = block.get_by_position(result).type;
724
54
        const bool is_col_general_const = is_column_const(*column_general.column);
725
54
        const auto* col_general = is_col_general_const
726
54
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
13
                                                    .get_data_column_ptr()
728
13
                                                    .get()
729
54
                                          : column_general.column.get();
730
54
        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
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
54
            if constexpr (IsDataTypeDecimal<DataType>) {
746
54
                if (column_result.type->is_nullable()) {
747
54
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
54
                                column_result.type)) {
749
54
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
54
                    } else {
751
54
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
54
                                               "Illegal nullable column");
753
54
                    }
754
54
                } else {
755
54
                    result_scale = column_result.type->get_scale();
756
54
                }
757
54
            }
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
54
                    Int16 scale_arg = 0;
764
54
                    if (arguments.size() == 2) {
765
54
                        RETURN_IF_ERROR(
766
54
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
54
                    }
768
769
54
                    res = Dispatcher<DataType::PType, rounding_mode,
770
54
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
54
                                                                         result_scale);
772
54
                } else {
773
                    // the SECOND arugment is COLUMN
774
54
                    if (is_col_general_const) {
775
54
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
54
                                apply_const_vec(
777
54
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
54
                                        block.get_by_position(arguments[1]).column.get(),
779
54
                                        result_scale);
780
54
                    } else {
781
54
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
54
                                apply_vec_vec(col_general,
783
54
                                              block.get_by_position(arguments[1]).column.get(),
784
54
                                              result_scale);
785
54
                    }
786
54
                }
787
54
                return true;
788
54
            }
789
790
54
            return false;
791
54
        };
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
54
        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
54
        column_result.column = std::move(res);
809
54
        return Status::OK();
810
54
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
124
                        uint32_t result, size_t input_rows_count) const override {
721
124
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
124
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
124
        const DataTypePtr result_type = block.get_by_position(result).type;
724
124
        const bool is_col_general_const = is_column_const(*column_general.column);
725
124
        const auto* col_general = is_col_general_const
726
124
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
12
                                                    .get_data_column_ptr()
728
12
                                                    .get()
729
124
                                          : column_general.column.get();
730
124
        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
124
        auto call = [&](const auto& types) -> bool {
739
124
            using Types = std::decay_t<decltype(types)>;
740
124
            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
124
            Int16 result_scale = 0;
745
124
            if constexpr (IsDataTypeDecimal<DataType>) {
746
124
                if (column_result.type->is_nullable()) {
747
124
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
124
                                column_result.type)) {
749
124
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
124
                    } else {
751
124
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
124
                                               "Illegal nullable column");
753
124
                    }
754
124
                } else {
755
124
                    result_scale = column_result.type->get_scale();
756
124
                }
757
124
            }
758
759
124
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
124
                if (arguments.size() == 1 ||
761
124
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
124
                    Int16 scale_arg = 0;
764
124
                    if (arguments.size() == 2) {
765
124
                        RETURN_IF_ERROR(
766
124
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
124
                    }
768
769
124
                    res = Dispatcher<DataType::PType, rounding_mode,
770
124
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
124
                                                                         result_scale);
772
124
                } else {
773
                    // the SECOND arugment is COLUMN
774
124
                    if (is_col_general_const) {
775
124
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
124
                                apply_const_vec(
777
124
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
124
                                        block.get_by_position(arguments[1]).column.get(),
779
124
                                        result_scale);
780
124
                    } else {
781
124
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
124
                                apply_vec_vec(col_general,
783
124
                                              block.get_by_position(arguments[1]).column.get(),
784
124
                                              result_scale);
785
124
                    }
786
124
                }
787
124
                return true;
788
124
            }
789
790
124
            return false;
791
124
        };
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
124
        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
124
        column_result.column = std::move(res);
809
124
        return Status::OK();
810
124
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
51
                        uint32_t result, size_t input_rows_count) const override {
721
51
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
51
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
51
        const DataTypePtr result_type = block.get_by_position(result).type;
724
51
        const bool is_col_general_const = is_column_const(*column_general.column);
725
51
        const auto* col_general = is_col_general_const
726
51
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
12
                                                    .get_data_column_ptr()
728
12
                                                    .get()
729
51
                                          : column_general.column.get();
730
51
        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
51
        auto call = [&](const auto& types) -> bool {
739
51
            using Types = std::decay_t<decltype(types)>;
740
51
            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
51
            Int16 result_scale = 0;
745
51
            if constexpr (IsDataTypeDecimal<DataType>) {
746
51
                if (column_result.type->is_nullable()) {
747
51
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
51
                                column_result.type)) {
749
51
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
51
                    } else {
751
51
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
51
                                               "Illegal nullable column");
753
51
                    }
754
51
                } else {
755
51
                    result_scale = column_result.type->get_scale();
756
51
                }
757
51
            }
758
759
51
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
51
                if (arguments.size() == 1 ||
761
51
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
51
                    Int16 scale_arg = 0;
764
51
                    if (arguments.size() == 2) {
765
51
                        RETURN_IF_ERROR(
766
51
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
51
                    }
768
769
51
                    res = Dispatcher<DataType::PType, rounding_mode,
770
51
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
51
                                                                         result_scale);
772
51
                } else {
773
                    // the SECOND arugment is COLUMN
774
51
                    if (is_col_general_const) {
775
51
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
51
                                apply_const_vec(
777
51
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
51
                                        block.get_by_position(arguments[1]).column.get(),
779
51
                                        result_scale);
780
51
                    } else {
781
51
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
51
                                apply_vec_vec(col_general,
783
51
                                              block.get_by_position(arguments[1]).column.get(),
784
51
                                              result_scale);
785
51
                    }
786
51
                }
787
51
                return true;
788
51
            }
789
790
51
            return false;
791
51
        };
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
51
        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
51
        column_result.column = std::move(res);
809
51
        return Status::OK();
810
51
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
44
                        uint32_t result, size_t input_rows_count) const override {
721
44
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
44
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
44
        const DataTypePtr result_type = block.get_by_position(result).type;
724
44
        const bool is_col_general_const = is_column_const(*column_general.column);
725
44
        const auto* col_general = is_col_general_const
726
44
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
12
                                                    .get_data_column_ptr()
728
12
                                                    .get()
729
44
                                          : column_general.column.get();
730
44
        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
44
        auto call = [&](const auto& types) -> bool {
739
44
            using Types = std::decay_t<decltype(types)>;
740
44
            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
44
            Int16 result_scale = 0;
745
44
            if constexpr (IsDataTypeDecimal<DataType>) {
746
44
                if (column_result.type->is_nullable()) {
747
44
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
44
                                column_result.type)) {
749
44
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
44
                    } else {
751
44
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
44
                                               "Illegal nullable column");
753
44
                    }
754
44
                } else {
755
44
                    result_scale = column_result.type->get_scale();
756
44
                }
757
44
            }
758
759
44
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
44
                if (arguments.size() == 1 ||
761
44
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
44
                    Int16 scale_arg = 0;
764
44
                    if (arguments.size() == 2) {
765
44
                        RETURN_IF_ERROR(
766
44
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
44
                    }
768
769
44
                    res = Dispatcher<DataType::PType, rounding_mode,
770
44
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
44
                                                                         result_scale);
772
44
                } else {
773
                    // the SECOND arugment is COLUMN
774
44
                    if (is_col_general_const) {
775
44
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
44
                                apply_const_vec(
777
44
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
44
                                        block.get_by_position(arguments[1]).column.get(),
779
44
                                        result_scale);
780
44
                    } else {
781
44
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
44
                                apply_vec_vec(col_general,
783
44
                                              block.get_by_position(arguments[1]).column.get(),
784
44
                                              result_scale);
785
44
                    }
786
44
                }
787
44
                return true;
788
44
            }
789
790
44
            return false;
791
44
        };
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
44
        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
44
        column_result.column = std::move(res);
809
44
        return Status::OK();
810
44
    }
_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
33
                        uint32_t result, size_t input_rows_count) const override {
721
33
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
33
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
33
        const DataTypePtr result_type = block.get_by_position(result).type;
724
33
        const bool is_col_general_const = is_column_const(*column_general.column);
725
33
        const auto* col_general = is_col_general_const
726
33
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
2
                                                    .get_data_column_ptr()
728
2
                                                    .get()
729
33
                                          : column_general.column.get();
730
33
        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
33
        auto call = [&](const auto& types) -> bool {
739
33
            using Types = std::decay_t<decltype(types)>;
740
33
            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
33
            Int16 result_scale = 0;
745
33
            if constexpr (IsDataTypeDecimal<DataType>) {
746
33
                if (column_result.type->is_nullable()) {
747
33
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
33
                                column_result.type)) {
749
33
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
33
                    } else {
751
33
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
33
                                               "Illegal nullable column");
753
33
                    }
754
33
                } else {
755
33
                    result_scale = column_result.type->get_scale();
756
33
                }
757
33
            }
758
759
33
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
33
                if (arguments.size() == 1 ||
761
33
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
33
                    Int16 scale_arg = 0;
764
33
                    if (arguments.size() == 2) {
765
33
                        RETURN_IF_ERROR(
766
33
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
33
                    }
768
769
33
                    res = Dispatcher<DataType::PType, rounding_mode,
770
33
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
33
                                                                         result_scale);
772
33
                } else {
773
                    // the SECOND arugment is COLUMN
774
33
                    if (is_col_general_const) {
775
33
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
33
                                apply_const_vec(
777
33
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
33
                                        block.get_by_position(arguments[1]).column.get(),
779
33
                                        result_scale);
780
33
                    } else {
781
33
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
33
                                apply_vec_vec(col_general,
783
33
                                              block.get_by_position(arguments[1]).column.get(),
784
33
                                              result_scale);
785
33
                    }
786
33
                }
787
33
                return true;
788
33
            }
789
790
33
            return false;
791
33
        };
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
33
        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
33
        column_result.column = std::move(res);
809
33
        return Status::OK();
810
33
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
199
                        uint32_t result, size_t input_rows_count) const override {
721
199
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
199
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
199
        const DataTypePtr result_type = block.get_by_position(result).type;
724
199
        const bool is_col_general_const = is_column_const(*column_general.column);
725
199
        const auto* col_general = is_col_general_const
726
199
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
199
                                          : column_general.column.get();
730
199
        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
199
        auto call = [&](const auto& types) -> bool {
739
199
            using Types = std::decay_t<decltype(types)>;
740
199
            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
199
            Int16 result_scale = 0;
745
199
            if constexpr (IsDataTypeDecimal<DataType>) {
746
199
                if (column_result.type->is_nullable()) {
747
199
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
199
                                column_result.type)) {
749
199
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
199
                    } else {
751
199
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
199
                                               "Illegal nullable column");
753
199
                    }
754
199
                } else {
755
199
                    result_scale = column_result.type->get_scale();
756
199
                }
757
199
            }
758
759
199
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
199
                if (arguments.size() == 1 ||
761
199
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
762
                    // the SECOND argument is MISSING or CONST
763
199
                    Int16 scale_arg = 0;
764
199
                    if (arguments.size() == 2) {
765
199
                        RETURN_IF_ERROR(
766
199
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
767
199
                    }
768
769
199
                    res = Dispatcher<DataType::PType, rounding_mode,
770
199
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
771
199
                                                                         result_scale);
772
199
                } else {
773
                    // the SECOND arugment is COLUMN
774
199
                    if (is_col_general_const) {
775
199
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
199
                                apply_const_vec(
777
199
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
199
                                        block.get_by_position(arguments[1]).column.get(),
779
199
                                        result_scale);
780
199
                    } else {
781
199
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
782
199
                                apply_vec_vec(col_general,
783
199
                                              block.get_by_position(arguments[1]).column.get(),
784
199
                                              result_scale);
785
199
                    }
786
199
                }
787
199
                return true;
788
199
            }
789
790
199
            return false;
791
199
        };
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
199
        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
199
        column_result.column = std::move(res);
809
199
        return Status::OK();
810
199
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_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
2
                                                    .get_data_column_ptr()
728
2
                                                    .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_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_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
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_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_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
720
12
                        uint32_t result, size_t input_rows_count) const override {
721
12
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
722
12
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
723
12
        const DataTypePtr result_type = block.get_by_position(result).type;
724
12
        const bool is_col_general_const = is_column_const(*column_general.column);
725
12
        const auto* col_general = is_col_general_const
726
12
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
727
0
                                                    .get_data_column_ptr()
728
0
                                                    .get()
729
12
                                          : column_general.column.get();
730
12
        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
12
        auto call = [&](const auto& types) -> bool {
739
12
            using Types = std::decay_t<decltype(types)>;
740
12
            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
12
            Int16 result_scale = 0;
745
12
            if constexpr (IsDataTypeDecimal<DataType>) {
746
12
                if (column_result.type->is_nullable()) {
747
12
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
748
12
                                column_result.type)) {
749
12
                        result_scale = nullable_type->get_nested_type()->get_scale();
750
12
                    } else {
751
12
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
752
12
                                               "Illegal nullable column");
753
12
                    }
754
12
                } else {
755
12
                    result_scale = column_result.type->get_scale();
756
12
                }
757
12
            }
758
759
12
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
760
12
                if (arguments.size() == 1 ||
761
12
                    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
12
                } else {
773
                    // the SECOND arugment is COLUMN
774
12
                    if (is_col_general_const) {
775
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
776
12
                                apply_const_vec(
777
12
                                        &assert_cast<const ColumnConst&>(*column_general.column),
778
12
                                        block.get_by_position(arguments[1]).column.get(),
779
12
                                        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
12
                }
787
12
                return true;
788
12
            }
789
790
12
            return false;
791
12
        };
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
12
        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
12
        column_result.column = std::move(res);
809
12
        return Status::OK();
810
12
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_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
    }
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
45
    static DataTypes get_variadic_argument_types() {
840
45
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
45
    }
_ZN5doris18DoubleRoundTwoImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
9
    static DataTypes get_variadic_argument_types() {
840
9
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
9
    }
_ZN5doris18DoubleRoundTwoImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
9
    static DataTypes get_variadic_argument_types() {
840
9
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
9
    }
_ZN5doris18DoubleRoundTwoImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
9
    static DataTypes get_variadic_argument_types() {
840
9
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
9
    }
_ZN5doris18DoubleRoundTwoImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
9
    static DataTypes get_variadic_argument_types() {
840
9
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
9
    }
_ZN5doris18DoubleRoundTwoImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
839
9
    static DataTypes get_variadic_argument_types() {
840
9
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
841
9
    }
842
};
843
844
template <typename Name>
845
struct DoubleRoundOneImpl {
846
    static constexpr auto name = Name::name;
847
848
45
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
9
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
9
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
9
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
9
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
848
9
    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
180
    static DataTypes get_variadic_argument_types() {
856
180
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
180
                std::make_shared<DataTypeInt32>()};
858
180
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
855
9
    static DataTypes get_variadic_argument_types() {
856
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
857
9
                std::make_shared<DataTypeInt32>()};
858
9
    }
859
};
860
861
template <typename Name, PrimitiveType Type>
862
struct DecimalRoundOneImpl {
863
    static constexpr auto name = Name::name;
864
865
180
    static DataTypes get_variadic_argument_types() {
866
180
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
180
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
865
9
    static DataTypes get_variadic_argument_types() {
866
9
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
867
9
    }
868
};
869
#include "common/compile_check_avoid_end.h"
870
} // namespace doris