Coverage Report

Created: 2026-10-13 04:29

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/round.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
// This file is copied from
18
// https://github.com/ClickHouse/ClickHouse/blob/master/src/Functions/FunctionRound.h
19
// and modified by Doris
20
21
#pragma once
22
23
#include <cstddef>
24
#include <memory>
25
26
#include "common/exception.h"
27
#include "common/status.h"
28
#include "core/assert_cast.h"
29
#include "core/block/column_with_type_and_name.h"
30
#include "core/column/column_const.h"
31
#include "core/data_type/data_type.h"
32
#include "core/data_type/data_type_nullable.h"
33
#include "core/types.h"
34
#include "exprs/function/function.h"
35
#include "format/format_common.h"
36
#if defined(__SSE4_1__) || defined(__aarch64__)
37
#include "util/sse_util.hpp"
38
#else
39
#include <fenv.h>
40
#endif
41
#include <algorithm>
42
#include <type_traits>
43
44
#include "core/call_on_type_index.h"
45
#include "core/column/column.h"
46
#include "core/column/column_decimal.h"
47
#include "core/data_type/data_type_decimal.h"
48
#include "core/data_type/data_type_number.h"
49
50
namespace doris {
51
#include "common/compile_check_avoid_begin.h"
52
enum class ScaleMode {
53
    Positive, // round to a number with N decimal places after the decimal point
54
    Negative, // round to an integer with N zero characters
55
    Zero,     // round to an integer
56
};
57
58
enum class RoundingMode {
59
#if defined(__SSE4_1__) || defined(__aarch64__)
60
    Round = _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC,
61
    Floor = _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC,
62
    Ceil = _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC,
63
    Trunc = _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC,
64
#else
65
    Round = 8, /// Values are correspond to above just in case.
66
    Floor = 9,
67
    Ceil = 10,
68
    Trunc = 11,
69
#endif
70
};
71
72
enum class TieBreakingMode {
73
    Auto,    // use round up
74
    Bankers, // use banker's rounding
75
};
76
77
template <PrimitiveType PT>
78
struct RoundType {
79
    using NativeType = typename PrimitiveTypeTraits<PT>::CppType;
80
};
81
82
template <>
83
struct RoundType<TYPE_DECIMAL32> {
84
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType::NativeType;
85
};
86
template <>
87
struct RoundType<TYPE_DECIMAL64> {
88
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType::NativeType;
89
};
90
template <>
91
struct RoundType<TYPE_DECIMAL128I> {
92
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType::NativeType;
93
};
94
template <>
95
struct RoundType<TYPE_DECIMALV2> {
96
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType::NativeType;
97
};
98
template <>
99
struct RoundType<TYPE_DECIMAL256> {
100
    using NativeType = typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType::NativeType;
101
};
102
103
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
104
          TieBreakingMode tie_breaking_mode, typename U>
105
struct IntegerRoundingComputation {
106
    using T = typename RoundType<Type>::NativeType;
107
    static const size_t data_count = 1;
108
109
    static size_t prepare(size_t scale) { return scale; }
110
111
4.83k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
4.83k
        T quotient = x / scale;
113
4.83k
        const T remainder = x - quotient * scale;
114
115
4.83k
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
551
            return target_scale > 1 ? quotient * target_scale : quotient;
117
551
        }
118
1.77k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1.77k
            if (remainder < 0) {
120
12
                --quotient;
121
12
            }
122
1.77k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1.77k
        }
124
793
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
793
            if (remainder > 0) {
126
606
                ++quotient;
127
606
            }
128
793
            return target_scale > 1 ? quotient * target_scale : quotient;
129
793
        }
130
1.72k
        if constexpr (rounding_mode == RoundingMode::Round) {
131
1.72k
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
1.72k
            const T remainder_complement = scale - abs_remainder;
133
1.72k
            const T carry = remainder < 0 ? -1 : 1;
134
1.72k
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
1.10k
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
326
                    quotient += carry;
137
326
                }
138
1.10k
            }
139
1.72k
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
615
                if (remainder != 0 &&
141
615
                    (abs_remainder > remainder_complement ||
142
531
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
214
                    quotient += carry;
144
214
                }
145
615
            }
146
1.72k
            return target_scale > 1 ? quotient * target_scale : quotient;
147
1.72k
        }
148
4.83k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
291
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
291
        T quotient = x / scale;
113
291
        const T remainder = x - quotient * scale;
114
115
291
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
291
            return target_scale > 1 ? quotient * target_scale : quotient;
117
291
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
291
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
225
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
225
        T quotient = x / scale;
113
225
        const T remainder = x - quotient * scale;
114
115
225
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
225
            return target_scale > 1 ? quotient * target_scale : quotient;
117
225
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
225
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
35
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
35
        T quotient = x / scale;
113
35
        const T remainder = x - quotient * scale;
114
115
35
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
35
            return target_scale > 1 ? quotient * target_scale : quotient;
117
35
        }
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
35
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
364
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
364
        T quotient = x / scale;
113
364
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
364
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
364
            if (remainder < 0) {
120
7
                --quotient;
121
7
            }
122
364
            return target_scale > 1 ? quotient * target_scale : quotient;
123
364
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
364
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
1.25k
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1.25k
        T quotient = x / scale;
113
1.25k
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
1.25k
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1.25k
            if (remainder < 0) {
120
0
                --quotient;
121
0
            }
122
1.25k
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1.25k
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1.25k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
155
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
155
        T quotient = x / scale;
113
155
        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
155
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
155
            if (remainder < 0) {
120
4
                --quotient;
121
4
            }
122
155
            return target_scale > 1 ? quotient * target_scale : quotient;
123
155
        }
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
155
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
1
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1
        T quotient = x / scale;
113
1
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
1
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
1
            if (remainder < 0) {
120
1
                --quotient;
121
1
            }
122
1
            return target_scale > 1 ? quotient * target_scale : quotient;
123
1
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
362
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
362
        T quotient = x / scale;
113
362
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
362
        if constexpr (rounding_mode == RoundingMode::Round) {
131
362
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
362
            const T remainder_complement = scale - abs_remainder;
133
362
            const T carry = remainder < 0 ? -1 : 1;
134
362
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
362
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
126
                    quotient += carry;
137
126
                }
138
362
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
362
            return target_scale > 1 ? quotient * target_scale : quotient;
147
362
        }
148
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
384
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
384
        T quotient = x / scale;
113
384
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
384
        if constexpr (rounding_mode == RoundingMode::Round) {
131
384
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
384
            const T remainder_complement = scale - abs_remainder;
133
384
            const T carry = remainder < 0 ? -1 : 1;
134
384
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
384
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
154
                    quotient += carry;
137
154
                }
138
384
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
384
            return target_scale > 1 ? quotient * target_scale : quotient;
147
384
        }
148
384
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
363
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
363
        T quotient = x / scale;
113
363
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
363
        if constexpr (rounding_mode == RoundingMode::Round) {
131
363
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
363
            const T remainder_complement = scale - abs_remainder;
133
363
            const T carry = remainder < 0 ? -1 : 1;
134
363
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
363
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
46
                    quotient += carry;
137
46
                }
138
363
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
363
            return target_scale > 1 ? quotient * target_scale : quotient;
147
363
        }
148
363
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE12compute_implEiii
Line
Count
Source
111
362
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
362
        T quotient = x / scale;
113
362
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
362
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
362
            if (remainder > 0) {
126
300
                ++quotient;
127
300
            }
128
362
            return target_scale > 1 ? quotient * target_scale : quotient;
129
362
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll
Line
Count
Source
111
304
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
304
        T quotient = x / scale;
113
304
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
304
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
304
            if (remainder > 0) {
126
239
                ++quotient;
127
239
            }
128
304
            return target_scale > 1 ? quotient * target_scale : quotient;
129
304
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
304
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn
Line
Count
Source
111
126
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
126
        T quotient = x / scale;
113
126
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
126
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
126
            if (remainder > 0) {
126
66
                ++quotient;
127
66
            }
128
126
            return target_scale > 1 ? quotient * target_scale : quotient;
129
126
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
Line
Count
Source
111
1
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
1
        T quotient = x / scale;
113
1
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
1
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
1
            if (remainder > 0) {
126
1
                ++quotient;
127
1
            }
128
1
            return target_scale > 1 ? quotient * target_scale : quotient;
129
1
        }
130
        if constexpr (rounding_mode == RoundingMode::Round) {
131
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
            const T remainder_complement = scale - abs_remainder;
133
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
                if (remainder != 0 &&
141
                    (abs_remainder > remainder_complement ||
142
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
                    quotient += carry;
144
                }
145
            }
146
            return target_scale > 1 ? quotient * target_scale : quotient;
147
        }
148
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE12compute_implEiii
Line
Count
Source
111
315
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
315
        T quotient = x / scale;
113
315
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
315
        if constexpr (rounding_mode == RoundingMode::Round) {
131
315
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
315
            const T remainder_complement = scale - abs_remainder;
133
315
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
315
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
315
                if (remainder != 0 &&
141
315
                    (abs_remainder > remainder_complement ||
142
287
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
113
                    quotient += carry;
144
113
                }
145
315
            }
146
315
            return target_scale > 1 ? quotient * target_scale : quotient;
147
315
        }
148
315
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE12compute_implElll
Line
Count
Source
111
239
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
239
        T quotient = x / scale;
113
239
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
239
        if constexpr (rounding_mode == RoundingMode::Round) {
131
239
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
239
            const T remainder_complement = scale - abs_remainder;
133
239
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
239
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
239
                if (remainder != 0 &&
141
239
                    (abs_remainder > remainder_complement ||
142
211
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
90
                    quotient += carry;
144
90
                }
145
239
            }
146
239
            return target_scale > 1 ? quotient * target_scale : quotient;
147
239
        }
148
239
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn
Line
Count
Source
111
61
    static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) {
112
61
        T quotient = x / scale;
113
61
        const T remainder = x - quotient * scale;
114
115
        if constexpr (rounding_mode == RoundingMode::Trunc) {
116
            return target_scale > 1 ? quotient * target_scale : quotient;
117
        }
118
        if constexpr (rounding_mode == RoundingMode::Floor) {
119
            if (remainder < 0) {
120
                --quotient;
121
            }
122
            return target_scale > 1 ? quotient * target_scale : quotient;
123
        }
124
        if constexpr (rounding_mode == RoundingMode::Ceil) {
125
            if (remainder > 0) {
126
                ++quotient;
127
            }
128
            return target_scale > 1 ? quotient * target_scale : quotient;
129
        }
130
61
        if constexpr (rounding_mode == RoundingMode::Round) {
131
61
            const T abs_remainder = remainder < 0 ? -remainder : remainder;
132
61
            const T remainder_complement = scale - abs_remainder;
133
61
            const T carry = remainder < 0 ? -1 : 1;
134
            if constexpr (tie_breaking_mode == TieBreakingMode::Auto) {
135
                if (remainder != 0 && abs_remainder >= remainder_complement) {
136
                    quotient += carry;
137
                }
138
            }
139
61
            if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
140
61
                if (remainder != 0 &&
141
61
                    (abs_remainder > remainder_complement ||
142
33
                     (abs_remainder == remainder_complement && (quotient & 1) != 0))) {
143
11
                    quotient += carry;
144
11
                }
145
61
            }
146
61
            return target_scale > 1 ? quotient * target_scale : quotient;
147
61
        }
148
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_
149
150
4.83k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
4.83k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
4.83k
            return compute_impl(x, scale, target_scale);
153
4.83k
        }
154
0
        return x;
155
4.83k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
291
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
291
        if constexpr (scale_mode == ScaleMode::Negative) {
152
291
            return compute_impl(x, scale, target_scale);
153
291
        }
154
0
        return x;
155
291
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
225
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
225
        if constexpr (scale_mode == ScaleMode::Negative) {
152
225
            return compute_impl(x, scale, target_scale);
153
225
        }
154
0
        return x;
155
225
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
35
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
35
        if constexpr (scale_mode == ScaleMode::Negative) {
152
35
            return compute_impl(x, scale, target_scale);
153
35
        }
154
0
        return x;
155
35
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
364
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
364
        if constexpr (scale_mode == ScaleMode::Negative) {
152
364
            return compute_impl(x, scale, target_scale);
153
364
        }
154
0
        return x;
155
364
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
1.25k
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1.25k
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1.25k
            return compute_impl(x, scale, target_scale);
153
1.25k
        }
154
0
        return x;
155
1.25k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
155
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
155
        if constexpr (scale_mode == ScaleMode::Negative) {
152
155
            return compute_impl(x, scale, target_scale);
153
155
        }
154
0
        return x;
155
155
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
1
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1
            return compute_impl(x, scale, target_scale);
153
1
        }
154
0
        return x;
155
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
362
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
362
        if constexpr (scale_mode == ScaleMode::Negative) {
152
362
            return compute_impl(x, scale, target_scale);
153
362
        }
154
0
        return x;
155
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
384
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
384
        if constexpr (scale_mode == ScaleMode::Negative) {
152
384
            return compute_impl(x, scale, target_scale);
153
384
        }
154
0
        return x;
155
384
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
363
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
363
        if constexpr (scale_mode == ScaleMode::Negative) {
152
363
            return compute_impl(x, scale, target_scale);
153
363
        }
154
0
        return x;
155
363
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEiii
Line
Count
Source
150
362
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
362
        if constexpr (scale_mode == ScaleMode::Negative) {
152
362
            return compute_impl(x, scale, target_scale);
153
362
        }
154
0
        return x;
155
362
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll
Line
Count
Source
150
304
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
304
        if constexpr (scale_mode == ScaleMode::Negative) {
152
304
            return compute_impl(x, scale, target_scale);
153
304
        }
154
0
        return x;
155
304
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn
Line
Count
Source
150
126
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
126
        if constexpr (scale_mode == ScaleMode::Negative) {
152
126
            return compute_impl(x, scale, target_scale);
153
126
        }
154
0
        return x;
155
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_
Line
Count
Source
150
1
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
1
        if constexpr (scale_mode == ScaleMode::Negative) {
152
1
            return compute_impl(x, scale, target_scale);
153
1
        }
154
0
        return x;
155
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEhhh
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEaaa
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEsss
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEiii
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeElll
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEnnn
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE7computeEiii
Line
Count
Source
150
315
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
315
        if constexpr (scale_mode == ScaleMode::Negative) {
152
315
            return compute_impl(x, scale, target_scale);
153
315
        }
154
0
        return x;
155
315
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeElll
Line
Count
Source
150
239
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
239
        if constexpr (scale_mode == ScaleMode::Negative) {
152
239
            return compute_impl(x, scale, target_scale);
153
239
        }
154
0
        return x;
155
239
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn
Line
Count
Source
150
61
    static ALWAYS_INLINE T compute(T x, T scale, T target_scale) {
151
61
        if constexpr (scale_mode == ScaleMode::Negative) {
152
61
            return compute_impl(x, scale, target_scale);
153
61
        }
154
0
        return x;
155
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeES7_S7_S7_
156
157
    static ALWAYS_INLINE void compute(const T* __restrict in, U scale, T* __restrict out,
158
5.59k
                                      U target_scale) {
159
5.59k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
5.59k
            if (scale >= std::numeric_limits<T>::max()) {
161
755
                if constexpr (!is_decimal(Type)) {
162
0
                    *out = 0;
163
755
                } 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
755
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
752
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
252
                            if (*in < 0) {
169
124
                                throw doris::Exception(
170
124
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
124
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
124
                                        "input "
173
124
                                        "to a Decimal type with sufficient precision.");
174
124
                            }
175
252
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
128
                            if (*in > 0) {
177
124
                                throw doris::Exception(
178
124
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
124
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
124
                                        "input "
181
124
                                        "to a Decimal type with sufficient precision.");
182
124
                            }
183
128
                        }
184
132
                        *out = T(0);
185
752
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
1
                        *out = *in < 0 ? -target_scale : T(0);
187
1
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
1
                        *out = *in > 0 ? target_scale : T(0);
189
1
                    } else {
190
1
                        *out = T(0);
191
1
                    }
192
755
                }
193
0
                return;
194
755
            }
195
5.59k
        }
196
4.83k
        *out = compute(*in, scale, target_scale);
197
5.59k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
407
                                      U target_scale) {
159
407
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
407
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
116
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
116
                            if (*in > 0) {
177
116
                                throw doris::Exception(
178
116
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
116
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
116
                                        "input "
181
116
                                        "to a Decimal type with sufficient precision.");
182
116
                            }
183
116
                        }
184
116
                        *out = T(0);
185
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
116
                }
193
116
                return;
194
116
            }
195
407
        }
196
291
        *out = compute(*in, scale, target_scale);
197
407
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
233
                                      U target_scale) {
159
233
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
233
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
8
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
8
                            if (*in > 0) {
177
8
                                throw doris::Exception(
178
8
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
8
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
8
                                        "input "
181
8
                                        "to a Decimal type with sufficient precision.");
182
8
                            }
183
8
                        }
184
8
                        *out = T(0);
185
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
8
                }
193
8
                return;
194
8
            }
195
233
        }
196
225
        *out = compute(*in, scale, target_scale);
197
233
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
35
                                      U target_scale) {
159
35
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
35
            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
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
0
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
0
                            if (*in > 0) {
177
0
                                throw doris::Exception(
178
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
0
                                        "input "
181
0
                                        "to a Decimal type with sufficient precision.");
182
0
                            }
183
0
                        }
184
0
                        *out = T(0);
185
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
0
                }
193
0
                return;
194
0
            }
195
35
        }
196
35
        *out = compute(*in, scale, target_scale);
197
35
    }
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
601
                                      U target_scale) {
159
601
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
601
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
237
                } 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
237
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
236
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
236
                            if (*in < 0) {
169
116
                                throw doris::Exception(
170
116
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
116
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
116
                                        "input "
173
116
                                        "to a Decimal type with sufficient precision.");
174
116
                            }
175
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
                            if (*in > 0) {
177
                                throw doris::Exception(
178
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
                                        "input "
181
                                        "to a Decimal type with sufficient precision.");
182
                            }
183
                        }
184
120
                        *out = T(0);
185
236
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
1
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
237
                }
193
0
                return;
194
237
            }
195
601
        }
196
364
        *out = compute(*in, scale, target_scale);
197
601
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
1.26k
                                      U target_scale) {
159
1.26k
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1.26k
            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
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
16
                            if (*in < 0) {
169
8
                                throw doris::Exception(
170
8
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
8
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
8
                                        "input "
173
8
                                        "to a Decimal type with sufficient precision.");
174
8
                            }
175
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
                            if (*in > 0) {
177
                                throw doris::Exception(
178
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
                                        "input "
181
                                        "to a Decimal type with sufficient precision.");
182
                            }
183
                        }
184
8
                        *out = T(0);
185
16
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
0
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
16
                }
193
0
                return;
194
16
            }
195
1.26k
        }
196
1.25k
        *out = compute(*in, scale, target_scale);
197
1.26k
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
155
                                      U target_scale) {
159
155
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
155
            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
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
0
                            if (*in < 0) {
169
0
                                throw doris::Exception(
170
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
0
                                        "input "
173
0
                                        "to a Decimal type with sufficient precision.");
174
0
                            }
175
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
                            if (*in > 0) {
177
                                throw doris::Exception(
178
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
                                        "input "
181
                                        "to a Decimal type with sufficient precision.");
182
                            }
183
                        }
184
0
                        *out = T(0);
185
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
0
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
0
                }
193
0
                return;
194
0
            }
195
155
        }
196
155
        *out = compute(*in, scale, target_scale);
197
155
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
1
                                      U target_scale) {
159
1
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
0
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
0
                            if (*in < 0) {
169
0
                                throw doris::Exception(
170
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
0
                                        "input "
173
0
                                        "to a Decimal type with sufficient precision.");
174
0
                            }
175
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
                            if (*in > 0) {
177
                                throw doris::Exception(
178
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
                                        "input "
181
                                        "to a Decimal type with sufficient precision.");
182
                            }
183
                        }
184
0
                        *out = T(0);
185
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
0
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
0
                }
193
0
                return;
194
0
            }
195
1
        }
196
1
        *out = compute(*in, scale, target_scale);
197
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
478
                                      U target_scale) {
159
478
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
478
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
116
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
116
                            if (*in > 0) {
177
116
                                throw doris::Exception(
178
116
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
116
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
116
                                        "input "
181
116
                                        "to a Decimal type with sufficient precision.");
182
116
                            }
183
116
                        }
184
116
                        *out = T(0);
185
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
116
                }
193
116
                return;
194
116
            }
195
478
        }
196
362
        *out = compute(*in, scale, target_scale);
197
478
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
392
                                      U target_scale) {
159
392
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
392
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
8
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
8
                            if (*in > 0) {
177
8
                                throw doris::Exception(
178
8
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
8
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
8
                                        "input "
181
8
                                        "to a Decimal type with sufficient precision.");
182
8
                            }
183
8
                        }
184
8
                        *out = T(0);
185
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
8
                }
193
8
                return;
194
8
            }
195
392
        }
196
384
        *out = compute(*in, scale, target_scale);
197
392
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
364
                                      U target_scale) {
159
364
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
364
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
1
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
1
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
0
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
0
                            if (*in > 0) {
177
0
                                throw doris::Exception(
178
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
0
                                        "input "
181
0
                                        "to a Decimal type with sufficient precision.");
182
0
                            }
183
0
                        }
184
0
                        *out = T(0);
185
0
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
1
                    } else {
190
1
                        *out = T(0);
191
1
                    }
192
1
                }
193
1
                return;
194
1
            }
195
364
        }
196
363
        *out = compute(*in, scale, target_scale);
197
364
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EiE7computeEPKiiPii
Line
Count
Source
158
483
                                      U target_scale) {
159
483
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
483
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
121
                } 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
121
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
120
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
120
                            if (*in > 0) {
177
116
                                throw doris::Exception(
178
116
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
116
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
116
                                        "input "
181
116
                                        "to a Decimal type with sufficient precision.");
182
116
                            }
183
120
                        }
184
4
                        *out = T(0);
185
120
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
1
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
1
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
121
                }
193
0
                return;
194
121
            }
195
483
        }
196
362
        *out = compute(*in, scale, target_scale);
197
483
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll
Line
Count
Source
158
312
                                      U target_scale) {
159
312
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
312
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
8
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
8
                            if (*in > 0) {
177
8
                                throw doris::Exception(
178
8
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
8
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
8
                                        "input "
181
8
                                        "to a Decimal type with sufficient precision.");
182
8
                            }
183
8
                        }
184
0
                        *out = T(0);
185
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
0
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
8
                }
193
0
                return;
194
8
            }
195
312
        }
196
304
        *out = compute(*in, scale, target_scale);
197
312
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn
Line
Count
Source
158
126
                                      U target_scale) {
159
126
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
126
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
0
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
0
                            if (*in > 0) {
177
0
                                throw doris::Exception(
178
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
0
                                        "input "
181
0
                                        "to a Decimal type with sufficient precision.");
182
0
                            }
183
0
                        }
184
0
                        *out = T(0);
185
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
0
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
0
                }
193
0
                return;
194
0
            }
195
126
        }
196
126
        *out = compute(*in, scale, target_scale);
197
126
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
Line
Count
Source
158
1
                                      U target_scale) {
159
1
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
1
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
0
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
0
                            if (*in > 0) {
177
0
                                throw doris::Exception(
178
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
0
                                        "input "
181
0
                                        "to a Decimal type with sufficient precision.");
182
0
                            }
183
0
                        }
184
0
                        *out = T(0);
185
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
0
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
0
                        *out = *in > 0 ? target_scale : T(0);
189
                    } else {
190
                        *out = T(0);
191
                    }
192
0
                }
193
0
                return;
194
0
            }
195
1
        }
196
1
        *out = compute(*in, scale, target_scale);
197
1
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKhmPhm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKamPam
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKsmPsm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKimPim
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKlmPlm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EmE7computeEPKnmPnm
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EiE7computeEPKiiPii
Line
Count
Source
158
431
                                      U target_scale) {
159
431
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
431
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
116
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
116
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
116
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
116
                            if (*in > 0) {
177
116
                                throw doris::Exception(
178
116
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
116
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
116
                                        "input "
181
116
                                        "to a Decimal type with sufficient precision.");
182
116
                            }
183
116
                        }
184
116
                        *out = T(0);
185
116
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
116
                }
193
116
                return;
194
116
            }
195
431
        }
196
315
        *out = compute(*in, scale, target_scale);
197
431
    }
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeEPKllPll
Line
Count
Source
158
247
                                      U target_scale) {
159
247
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
247
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
8
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
8
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
8
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
8
                            if (*in > 0) {
177
8
                                throw doris::Exception(
178
8
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
8
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
8
                                        "input "
181
8
                                        "to a Decimal type with sufficient precision.");
182
8
                            }
183
8
                        }
184
8
                        *out = T(0);
185
8
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
8
                }
193
8
                return;
194
8
            }
195
247
        }
196
239
        *out = compute(*in, scale, target_scale);
197
247
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn
Line
Count
Source
158
61
                                      U target_scale) {
159
61
        if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) {
160
61
            if (scale >= std::numeric_limits<T>::max()) {
161
                if constexpr (!is_decimal(Type)) {
162
                    *out = 0;
163
0
                } else {
164
                    // A saturated divisor is larger than every valid value of this Decimal type.
165
                    // Only directed rounding can produce one representable target unit.
166
0
                    if (target_scale >= std::numeric_limits<T>::max()) {
167
                        if constexpr (rounding_mode == RoundingMode::Floor) {
168
                            if (*in < 0) {
169
                                throw doris::Exception(
170
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
171
                                        "Arithmetic overflow in decimal rounding result. Cast the "
172
                                        "input "
173
                                        "to a Decimal type with sufficient precision.");
174
                            }
175
0
                        } else if constexpr (rounding_mode == RoundingMode::Ceil) {
176
0
                            if (*in > 0) {
177
0
                                throw doris::Exception(
178
0
                                        ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
179
0
                                        "Arithmetic overflow in decimal rounding result. Cast the "
180
0
                                        "input "
181
0
                                        "to a Decimal type with sufficient precision.");
182
0
                            }
183
0
                        }
184
0
                        *out = T(0);
185
                    } else if constexpr (rounding_mode == RoundingMode::Floor) {
186
                        *out = *in < 0 ? -target_scale : T(0);
187
                    } else if constexpr (rounding_mode == RoundingMode::Ceil) {
188
                        *out = *in > 0 ? target_scale : T(0);
189
0
                    } else {
190
0
                        *out = T(0);
191
0
                    }
192
0
                }
193
0
                return;
194
0
            }
195
61
        }
196
61
        *out = compute(*in, scale, target_scale);
197
61
    }
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_
198
};
199
200
template <PrimitiveType Type, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
201
class DecimalRoundingImpl {
202
private:
203
    using T = typename PrimitiveTypeTraits<Type>::CppType;
204
    using NativeType = typename T::NativeType;
205
    using Op = IntegerRoundingComputation<Type, rounding_mode, ScaleMode::Negative,
206
                                          tie_breaking_mode, NativeType>;
207
    using Container = typename ColumnDecimal<Type>::Container;
208
209
public:
210
    static NO_INLINE void apply(const Container& in, UInt32 in_scale, Container& out,
211
1.30k
                                Int16 out_scale, Int16 result_scale) {
212
1.30k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
1.30k
        if (scale_arg > 0) {
214
884
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
884
            auto target_scale =
216
884
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
884
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
884
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
884
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
3.51k
            while (p_in < end_in) {
223
2.63k
                Op::compute(p_in, scale, p_out, target_scale);
224
2.63k
                ++p_in;
225
2.63k
                ++p_out;
226
2.63k
            }
227
884
        } else {
228
422
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
422
        }
230
1.30k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
211
30
                                Int16 out_scale, Int16 result_scale) {
212
30
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
30
        if (scale_arg > 0) {
214
20
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
20
            auto target_scale =
216
20
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
20
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
20
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
20
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
58
            while (p_in < end_in) {
223
38
                Op::compute(p_in, scale, p_out, target_scale);
224
38
                ++p_in;
225
38
                ++p_out;
226
38
            }
227
20
        } else {
228
10
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
10
        }
230
30
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
211
26
                                Int16 out_scale, Int16 result_scale) {
212
26
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
26
        if (scale_arg > 0) {
214
18
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
18
            auto target_scale =
216
18
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
18
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
18
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
18
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
53
            while (p_in < end_in) {
223
35
                Op::compute(p_in, scale, p_out, target_scale);
224
35
                ++p_in;
225
35
                ++p_out;
226
35
            }
227
18
        } else {
228
8
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
8
        }
230
26
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
211
19
                                Int16 out_scale, Int16 result_scale) {
212
19
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
19
        if (scale_arg > 0) {
214
16
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
16
            auto target_scale =
216
16
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
16
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
16
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
16
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
49
            while (p_in < end_in) {
223
33
                Op::compute(p_in, scale, p_out, target_scale);
224
33
                ++p_in;
225
33
                ++p_out;
226
33
            }
227
16
        } else {
228
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
3
        }
230
19
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
211
50
                                Int16 out_scale, Int16 result_scale) {
212
50
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
50
        if (scale_arg > 0) {
214
46
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
46
            auto target_scale =
216
46
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
46
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
46
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
46
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
160
            while (p_in < end_in) {
223
114
                Op::compute(p_in, scale, p_out, target_scale);
224
114
                ++p_in;
225
114
                ++p_out;
226
114
            }
227
46
        } else {
228
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
4
        }
230
50
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
211
239
                                Int16 out_scale, Int16 result_scale) {
212
239
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
239
        if (scale_arg > 0) {
214
217
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
217
            auto target_scale =
216
217
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
217
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
217
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
217
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
1.28k
            while (p_in < end_in) {
223
1.06k
                Op::compute(p_in, scale, p_out, target_scale);
224
1.06k
                ++p_in;
225
1.06k
                ++p_out;
226
1.06k
            }
227
217
        } else {
228
22
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
22
        }
230
239
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
211
68
                                Int16 out_scale, Int16 result_scale) {
212
68
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
68
        if (scale_arg > 0) {
214
64
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
64
            auto target_scale =
216
64
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
64
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
64
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
64
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
215
            while (p_in < end_in) {
223
151
                Op::compute(p_in, scale, p_out, target_scale);
224
151
                ++p_in;
225
151
                ++p_out;
226
151
            }
227
64
        } else {
228
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
4
        }
230
68
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
211
1
                                Int16 out_scale, Int16 result_scale) {
212
1
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
1
        if (scale_arg > 0) {
214
1
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
1
            auto target_scale =
216
1
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
1
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
1
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
1
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
2
            while (p_in < end_in) {
223
1
                Op::compute(p_in, scale, p_out, target_scale);
224
1
                ++p_in;
225
1
                ++p_out;
226
1
            }
227
1
        } else {
228
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
0
        }
230
1
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
211
44
                                Int16 out_scale, Int16 result_scale) {
212
44
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
44
        if (scale_arg > 0) {
214
41
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
41
            auto target_scale =
216
41
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
41
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
41
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
41
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
150
            while (p_in < end_in) {
223
109
                Op::compute(p_in, scale, p_out, target_scale);
224
109
                ++p_in;
225
109
                ++p_out;
226
109
            }
227
41
        } else {
228
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
3
        }
230
44
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
211
119
                                Int16 out_scale, Int16 result_scale) {
212
119
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
119
        if (scale_arg > 0) {
214
109
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
109
            auto target_scale =
216
109
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
109
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
109
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
109
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
307
            while (p_in < end_in) {
223
198
                Op::compute(p_in, scale, p_out, target_scale);
224
198
                ++p_in;
225
198
                ++p_out;
226
198
            }
227
109
        } else {
228
10
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
10
        }
230
119
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
211
417
                                Int16 out_scale, Int16 result_scale) {
212
417
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
417
        if (scale_arg > 0) {
214
146
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
146
            auto target_scale =
216
146
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
146
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
146
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
146
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
506
            while (p_in < end_in) {
223
360
                Op::compute(p_in, scale, p_out, target_scale);
224
360
                ++p_in;
225
360
                ++p_out;
226
360
            }
227
271
        } else {
228
271
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
271
        }
230
417
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
211
4
                                Int16 out_scale, Int16 result_scale) {
212
4
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
4
        if (scale_arg > 0) {
214
0
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
0
            auto target_scale =
216
0
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
0
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
0
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
0
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
0
            while (p_in < end_in) {
223
0
                Op::compute(p_in, scale, p_out, target_scale);
224
0
                ++p_in;
225
0
                ++p_out;
226
0
            }
227
4
        } else {
228
4
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
4
        }
230
4
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
211
45
                                Int16 out_scale, Int16 result_scale) {
212
45
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
45
        if (scale_arg > 0) {
214
43
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
43
            auto target_scale =
216
43
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
43
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
43
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
43
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
154
            while (p_in < end_in) {
223
111
                Op::compute(p_in, scale, p_out, target_scale);
224
111
                ++p_in;
225
111
                ++p_out;
226
111
            }
227
43
        } else {
228
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
2
        }
230
45
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
211
39
                                Int16 out_scale, Int16 result_scale) {
212
39
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
39
        if (scale_arg > 0) {
214
37
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
37
            auto target_scale =
216
37
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
37
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
37
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
37
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
156
            while (p_in < end_in) {
223
119
                Op::compute(p_in, scale, p_out, target_scale);
224
119
                ++p_in;
225
119
                ++p_out;
226
119
            }
227
37
        } else {
228
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
2
        }
230
39
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
211
54
                                Int16 out_scale, Int16 result_scale) {
212
54
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
54
        if (scale_arg > 0) {
214
52
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
52
            auto target_scale =
216
52
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
52
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
52
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
52
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
174
            while (p_in < end_in) {
223
122
                Op::compute(p_in, scale, p_out, target_scale);
224
122
                ++p_in;
225
122
                ++p_out;
226
122
            }
227
52
        } else {
228
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
2
        }
230
54
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
Line
Count
Source
211
1
                                Int16 out_scale, Int16 result_scale) {
212
1
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
1
        if (scale_arg > 0) {
214
1
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
1
            auto target_scale =
216
1
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
1
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
1
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
1
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
2
            while (p_in < end_in) {
223
1
                Op::compute(p_in, scale, p_out, target_scale);
224
1
                ++p_in;
225
1
                ++p_out;
226
1
            }
227
1
        } else {
228
0
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
0
        }
230
1
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_ss
Line
Count
Source
211
31
                                Int16 out_scale, Int16 result_scale) {
212
31
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
31
        if (scale_arg > 0) {
214
29
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
29
            auto target_scale =
216
29
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
29
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
29
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
29
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
92
            while (p_in < end_in) {
223
63
                Op::compute(p_in, scale, p_out, target_scale);
224
63
                ++p_in;
225
63
                ++p_out;
226
63
            }
227
29
        } else {
228
2
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
2
        }
230
31
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_ss
Line
Count
Source
211
91
                                Int16 out_scale, Int16 result_scale) {
212
91
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
91
        if (scale_arg > 0) {
214
19
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
19
            auto target_scale =
216
19
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
19
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
19
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
19
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
72
            while (p_in < end_in) {
223
53
                Op::compute(p_in, scale, p_out, target_scale);
224
53
                ++p_in;
225
53
                ++p_out;
226
53
            }
227
72
        } else {
228
72
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
72
        }
230
91
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_ss
Line
Count
Source
211
28
                                Int16 out_scale, Int16 result_scale) {
212
28
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
213
28
        if (scale_arg > 0) {
214
25
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
215
25
            auto target_scale =
216
25
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
217
218
25
            const auto* __restrict p_in = reinterpret_cast<const NativeType*>(in.data());
219
25
            const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size();
220
25
            auto* __restrict p_out = reinterpret_cast<NativeType*>(out.data());
221
222
84
            while (p_in < end_in) {
223
59
                Op::compute(p_in, scale, p_out, target_scale);
224
59
                ++p_in;
225
59
                ++p_out;
226
59
            }
227
25
        } else {
228
3
            memcpy(out.data(), in.data(), in.size() * sizeof(T));
229
3
        }
230
28
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_ss
231
232
    static NO_INLINE void apply(const NativeType& in, UInt32 in_scale, NativeType& out,
233
4.52k
                                Int16 out_scale, Int16 result_scale) {
234
4.52k
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
4.52k
        if (scale_arg > 0) {
236
2.96k
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
2.96k
            auto target_scale =
238
2.96k
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
2.96k
            Op::compute(&in, scale, &out, target_scale);
240
2.96k
        } else {
241
1.56k
            memcpy(&out, &in, sizeof(NativeType));
242
1.56k
        }
243
4.52k
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
233
567
                                Int16 out_scale, Int16 result_scale) {
234
567
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
567
        if (scale_arg > 0) {
236
369
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
369
            auto target_scale =
238
369
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
369
            Op::compute(&in, scale, &out, target_scale);
240
369
        } else {
241
198
            memcpy(&out, &in, sizeof(NativeType));
242
198
        }
243
567
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
233
308
                                Int16 out_scale, Int16 result_scale) {
234
308
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
308
        if (scale_arg > 0) {
236
198
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
198
            auto target_scale =
238
198
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
198
            Op::compute(&in, scale, &out, target_scale);
240
198
        } else {
241
110
            memcpy(&out, &in, sizeof(NativeType));
242
110
        }
243
308
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
233
3
                                Int16 out_scale, Int16 result_scale) {
234
3
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
3
        if (scale_arg > 0) {
236
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
2
            auto target_scale =
238
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
2
            Op::compute(&in, scale, &out, target_scale);
240
2
        } else {
241
1
            memcpy(&out, &in, sizeof(NativeType));
242
1
        }
243
3
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
233
689
                                Int16 out_scale, Int16 result_scale) {
234
689
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
689
        if (scale_arg > 0) {
236
487
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
487
            auto target_scale =
238
487
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
487
            Op::compute(&in, scale, &out, target_scale);
240
487
        } else {
241
202
            memcpy(&out, &in, sizeof(NativeType));
242
202
        }
243
689
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
233
315
                                Int16 out_scale, Int16 result_scale) {
234
315
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
315
        if (scale_arg > 0) {
236
203
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
203
            auto target_scale =
238
203
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
203
            Op::compute(&in, scale, &out, target_scale);
240
203
        } else {
241
112
            memcpy(&out, &in, sizeof(NativeType));
242
112
        }
243
315
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
233
6
                                Int16 out_scale, Int16 result_scale) {
234
6
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
6
        if (scale_arg > 0) {
236
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
4
            auto target_scale =
238
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
4
            Op::compute(&in, scale, &out, target_scale);
240
4
        } else {
241
2
            memcpy(&out, &in, sizeof(NativeType));
242
2
        }
243
6
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
233
569
                                Int16 out_scale, Int16 result_scale) {
234
569
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
569
        if (scale_arg > 0) {
236
369
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
369
            auto target_scale =
238
369
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
369
            Op::compute(&in, scale, &out, target_scale);
240
369
        } else {
241
200
            memcpy(&out, &in, sizeof(NativeType));
242
200
        }
243
569
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
233
306
                                Int16 out_scale, Int16 result_scale) {
234
306
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
306
        if (scale_arg > 0) {
236
194
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
194
            auto target_scale =
238
194
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
194
            Op::compute(&in, scale, &out, target_scale);
240
194
        } else {
241
112
            memcpy(&out, &in, sizeof(NativeType));
242
112
        }
243
306
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
233
5
                                Int16 out_scale, Int16 result_scale) {
234
5
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
5
        if (scale_arg > 0) {
236
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
4
            auto target_scale =
238
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
4
            Op::compute(&in, scale, &out, target_scale);
240
4
        } else {
241
1
            memcpy(&out, &in, sizeof(NativeType));
242
1
        }
243
5
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKijRiss
Line
Count
Source
233
574
                                Int16 out_scale, Int16 result_scale) {
234
574
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
574
        if (scale_arg > 0) {
236
372
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
372
            auto target_scale =
238
372
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
372
            Op::compute(&in, scale, &out, target_scale);
240
372
        } else {
241
202
            memcpy(&out, &in, sizeof(NativeType));
242
202
        }
243
574
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKljRlss
Line
Count
Source
233
305
                                Int16 out_scale, Int16 result_scale) {
234
305
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
305
        if (scale_arg > 0) {
236
193
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
193
            auto target_scale =
238
193
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
193
            Op::compute(&in, scale, &out, target_scale);
240
193
        } else {
241
112
            memcpy(&out, &in, sizeof(NativeType));
242
112
        }
243
305
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRnss
Line
Count
Source
233
5
                                Int16 out_scale, Int16 result_scale) {
234
5
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
5
        if (scale_arg > 0) {
236
4
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
4
            auto target_scale =
238
4
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
4
            Op::compute(&in, scale, &out, target_scale);
240
4
        } else {
241
1
            memcpy(&out, &in, sizeof(NativeType));
242
1
        }
243
5
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_ss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKijRiss
Line
Count
Source
233
568
                                Int16 out_scale, Int16 result_scale) {
234
568
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
568
        if (scale_arg > 0) {
236
368
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
368
            auto target_scale =
238
368
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
368
            Op::compute(&in, scale, &out, target_scale);
240
368
        } else {
241
200
            memcpy(&out, &in, sizeof(NativeType));
242
200
        }
243
568
    }
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKljRlss
Line
Count
Source
233
306
                                Int16 out_scale, Int16 result_scale) {
234
306
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
306
        if (scale_arg > 0) {
236
194
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
194
            auto target_scale =
238
194
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
194
            Op::compute(&in, scale, &out, target_scale);
240
194
        } else {
241
112
            memcpy(&out, &in, sizeof(NativeType));
242
112
        }
243
306
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRnss
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRnss
Line
Count
Source
233
3
                                Int16 out_scale, Int16 result_scale) {
234
3
        Int32 scale_arg = static_cast<Int32>(in_scale) - out_scale;
235
3
        if (scale_arg > 0) {
236
2
            auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg);
237
2
            auto target_scale =
238
2
                    DecimalScaleParams::get_scale_factor<Type>(result_scale - out_scale);
239
2
            Op::compute(&in, scale, &out, target_scale);
240
2
        } else {
241
1
            memcpy(&out, &in, sizeof(NativeType));
242
1
        }
243
3
    }
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKN4wide7integerILm256EiEEjRS7_ss
244
};
245
246
template <TieBreakingMode tie_breaking_mode>
247
44
inline float roundWithMode(float x, RoundingMode mode) {
248
44
    switch (mode) {
249
20
    case RoundingMode::Round: {
250
20
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
251
10
            return nearbyintf(x);
252
10
        } else {
253
10
            return roundf(x);
254
10
        }
255
20
    }
256
28
    case RoundingMode::Floor:
257
28
        return floorf(x);
258
8
    case RoundingMode::Ceil:
259
8
        return ceilf(x);
260
8
    case RoundingMode::Trunc:
261
8
        return truncf(x);
262
44
    }
263
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
264
0
    __builtin_unreachable();
265
44
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEffNS_12RoundingModeE
Line
Count
Source
247
34
inline float roundWithMode(float x, RoundingMode mode) {
248
34
    switch (mode) {
249
10
    case RoundingMode::Round: {
250
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
251
            return nearbyintf(x);
252
10
        } else {
253
10
            return roundf(x);
254
10
        }
255
10
    }
256
18
    case RoundingMode::Floor:
257
18
        return floorf(x);
258
8
    case RoundingMode::Ceil:
259
8
        return ceilf(x);
260
8
    case RoundingMode::Trunc:
261
8
        return truncf(x);
262
34
    }
263
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
264
0
    __builtin_unreachable();
265
34
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEffNS_12RoundingModeE
Line
Count
Source
247
10
inline float roundWithMode(float x, RoundingMode mode) {
248
10
    switch (mode) {
249
10
    case RoundingMode::Round: {
250
10
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
251
10
            return nearbyintf(x);
252
        } else {
253
            return roundf(x);
254
        }
255
10
    }
256
10
    case RoundingMode::Floor:
257
10
        return floorf(x);
258
0
    case RoundingMode::Ceil:
259
0
        return ceilf(x);
260
0
    case RoundingMode::Trunc:
261
0
        return truncf(x);
262
10
    }
263
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
264
0
    __builtin_unreachable();
265
10
}
266
267
template <TieBreakingMode tie_breaking_mode>
268
2.01k
inline double roundWithMode(double x, RoundingMode mode) {
269
2.01k
    switch (mode) {
270
1.76k
    case RoundingMode::Round: {
271
1.76k
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
272
72
            return nearbyint(x);
273
1.69k
        } else {
274
1.69k
            return round(x);
275
1.69k
        }
276
1.76k
    }
277
1.86k
    case RoundingMode::Floor:
278
1.86k
        return floor(x);
279
81
    case RoundingMode::Ceil:
280
81
        return ceil(x);
281
75
    case RoundingMode::Trunc:
282
75
        return trunc(x);
283
2.01k
    }
284
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
285
0
    __builtin_unreachable();
286
2.01k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEddNS_12RoundingModeE
Line
Count
Source
268
1.94k
inline double roundWithMode(double x, RoundingMode mode) {
269
1.94k
    switch (mode) {
270
1.69k
    case RoundingMode::Round: {
271
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
272
            return nearbyint(x);
273
1.69k
        } else {
274
1.69k
            return round(x);
275
1.69k
        }
276
1.69k
    }
277
1.79k
    case RoundingMode::Floor:
278
1.79k
        return floor(x);
279
81
    case RoundingMode::Ceil:
280
81
        return ceil(x);
281
75
    case RoundingMode::Trunc:
282
75
        return trunc(x);
283
1.94k
    }
284
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
285
0
    __builtin_unreachable();
286
1.94k
}
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEddNS_12RoundingModeE
Line
Count
Source
268
72
inline double roundWithMode(double x, RoundingMode mode) {
269
72
    switch (mode) {
270
72
    case RoundingMode::Round: {
271
72
        if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) {
272
72
            return nearbyint(x);
273
        } else {
274
            return round(x);
275
        }
276
72
    }
277
72
    case RoundingMode::Floor:
278
72
        return floor(x);
279
0
    case RoundingMode::Ceil:
280
0
        return ceil(x);
281
0
    case RoundingMode::Trunc:
282
0
        return trunc(x);
283
72
    }
284
0
    throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode);
285
0
    __builtin_unreachable();
286
72
}
287
288
template <typename T, TieBreakingMode tie_breaking_mode>
289
class BaseFloatRoundingComputation {
290
public:
291
    using ScalarType = T;
292
    using VectorType = T;
293
    static const size_t data_count = 1;
294
295
2.06k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE4loadEPKf
Line
Count
Source
295
34
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE4loadEPKd
Line
Count
Source
295
1.94k
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE4loadEPKf
Line
Count
Source
295
10
    static VectorType load(const ScalarType* in) { return *in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE4loadEPKd
Line
Count
Source
295
72
    static VectorType load(const ScalarType* in) { return *in; }
296
588
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5load1Ef
Line
Count
Source
296
34
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5load1Ed
Line
Count
Source
296
509
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5load1Ef
Line
Count
Source
296
10
    static VectorType load1(const ScalarType in) { return in; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5load1Ed
Line
Count
Source
296
35
    static VectorType load1(const ScalarType in) { return in; }
297
2.06k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5storeEPff
Line
Count
Source
297
34
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5storeEPdd
Line
Count
Source
297
1.94k
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5storeEPff
Line
Count
Source
297
10
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5storeEPdd
Line
Count
Source
297
72
    static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }
298
1.73k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE8multiplyEff
Line
Count
Source
298
24
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE8multiplyEdd
Line
Count
Source
298
1.66k
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE8multiplyEff
Line
Count
Source
298
6
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE8multiplyEdd
Line
Count
Source
298
37
    static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }
299
1.73k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE6divideEff
Line
Count
Source
299
24
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE6divideEdd
Line
Count
Source
299
1.66k
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE6divideEff
Line
Count
Source
299
6
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE6divideEdd
Line
Count
Source
299
37
    static VectorType divide(VectorType val, VectorType scale) { return val / scale; }
300
    template <RoundingMode mode>
301
2.06k
    static VectorType apply(VectorType val) {
302
2.06k
        return roundWithMode<tie_breaking_mode>(val, mode);
303
2.06k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEff
Line
Count
Source
301
8
    static VectorType apply(VectorType val) {
302
8
        return roundWithMode<tie_breaking_mode>(val, mode);
303
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEdd
Line
Count
Source
301
75
    static VectorType apply(VectorType val) {
302
75
        return roundWithMode<tie_breaking_mode>(val, mode);
303
75
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEff
Line
Count
Source
301
8
    static VectorType apply(VectorType val) {
302
8
        return roundWithMode<tie_breaking_mode>(val, mode);
303
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEdd
Line
Count
Source
301
99
    static VectorType apply(VectorType val) {
302
99
        return roundWithMode<tie_breaking_mode>(val, mode);
303
99
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
301
10
    static VectorType apply(VectorType val) {
302
10
        return roundWithMode<tie_breaking_mode>(val, mode);
303
10
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
301
1.69k
    static VectorType apply(VectorType val) {
302
1.69k
        return roundWithMode<tie_breaking_mode>(val, mode);
303
1.69k
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEff
Line
Count
Source
301
8
    static VectorType apply(VectorType val) {
302
8
        return roundWithMode<tie_breaking_mode>(val, mode);
303
8
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEdd
Line
Count
Source
301
81
    static VectorType apply(VectorType val) {
302
81
        return roundWithMode<tie_breaking_mode>(val, mode);
303
81
    }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEff
Line
Count
Source
301
10
    static VectorType apply(VectorType val) {
302
10
        return roundWithMode<tie_breaking_mode>(val, mode);
303
10
    }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEdd
Line
Count
Source
301
72
    static VectorType apply(VectorType val) {
302
72
        return roundWithMode<tie_breaking_mode>(val, mode);
303
72
    }
304
305
588
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
305
34
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE7prepareEm
Line
Count
Source
305
509
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
305
10
    static VectorType prepare(size_t scale) { return load1(scale); }
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE7prepareEm
Line
Count
Source
305
35
    static VectorType prepare(size_t scale) { return load1(scale); }
306
};
307
308
/** Implementation of low-level round-off functions for floating-point values.
309
  */
310
template <typename T, RoundingMode rounding_mode, ScaleMode scale_mode,
311
          TieBreakingMode tie_breaking_mode>
312
class FloatRoundingComputation : public BaseFloatRoundingComputation<T, tie_breaking_mode> {
313
    using Base = BaseFloatRoundingComputation<T, tie_breaking_mode>;
314
315
public:
316
    static inline void compute(const T* __restrict in, const typename Base::VectorType& scale,
317
2.06k
                               T* __restrict out) {
318
2.06k
        auto val = Base::load(in);
319
320
2.06k
        if (scale_mode == ScaleMode::Positive) {
321
1.69k
            val = Base::multiply(val, scale);
322
1.69k
        } else if (scale_mode == ScaleMode::Negative) {
323
40
            val = Base::divide(val, scale);
324
40
        }
325
326
2.06k
        val = Base::template apply<rounding_mode>(val);
327
328
2.06k
        if (scale_mode == ScaleMode::Positive) {
329
1.69k
            val = Base::divide(val, scale);
330
1.69k
        } else if (scale_mode == ScaleMode::Negative) {
331
40
            val = Base::multiply(val, scale);
332
40
        }
333
334
2.06k
        Base::store(out, val);
335
2.06k
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
4
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
4
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
12
                               T* __restrict out) {
318
12
        auto val = Base::load(in);
319
320
12
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
12
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
12
        val = Base::template apply<rounding_mode>(val);
327
328
12
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
12
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
12
        Base::store(out, val);
335
12
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
53
                               T* __restrict out) {
318
53
        auto val = Base::load(in);
319
320
53
        if (scale_mode == ScaleMode::Positive) {
321
53
            val = Base::multiply(val, scale);
322
53
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
53
        val = Base::template apply<rounding_mode>(val);
327
328
53
        if (scale_mode == ScaleMode::Positive) {
329
53
            val = Base::divide(val, scale);
330
53
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
53
        Base::store(out, val);
335
53
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
10
                               T* __restrict out) {
318
10
        auto val = Base::load(in);
319
320
10
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
10
        } else if (scale_mode == ScaleMode::Negative) {
323
10
            val = Base::divide(val, scale);
324
10
        }
325
326
10
        val = Base::template apply<rounding_mode>(val);
327
328
10
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
10
        } else if (scale_mode == ScaleMode::Negative) {
331
10
            val = Base::multiply(val, scale);
332
10
        }
333
334
10
        Base::store(out, val);
335
10
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
4
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
4
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
85
                               T* __restrict out) {
318
85
        auto val = Base::load(in);
319
320
85
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
85
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
85
        val = Base::template apply<rounding_mode>(val);
327
328
85
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
85
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
85
        Base::store(out, val);
335
85
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
12
                               T* __restrict out) {
318
12
        auto val = Base::load(in);
319
320
12
        if (scale_mode == ScaleMode::Positive) {
321
12
            val = Base::multiply(val, scale);
322
12
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
12
        val = Base::template apply<rounding_mode>(val);
327
328
12
        if (scale_mode == ScaleMode::Positive) {
329
12
            val = Base::divide(val, scale);
330
12
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
12
        Base::store(out, val);
335
12
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
4
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
4
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
118
                               T* __restrict out) {
318
118
        auto val = Base::load(in);
319
320
118
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
118
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
118
        val = Base::template apply<rounding_mode>(val);
327
328
118
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
118
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
118
        Base::store(out, val);
335
118
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
1.56k
                               T* __restrict out) {
318
1.56k
        auto val = Base::load(in);
319
320
1.56k
        if (scale_mode == ScaleMode::Positive) {
321
1.56k
            val = Base::multiply(val, scale);
322
1.56k
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
1.56k
        val = Base::template apply<rounding_mode>(val);
327
328
1.56k
        if (scale_mode == ScaleMode::Positive) {
329
1.56k
            val = Base::divide(val, scale);
330
1.56k
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
1.56k
        Base::store(out, val);
335
1.56k
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
6
                               T* __restrict out) {
318
6
        auto val = Base::load(in);
319
320
6
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
6
        } else if (scale_mode == ScaleMode::Negative) {
323
6
            val = Base::divide(val, scale);
324
6
        }
325
326
6
        val = Base::template apply<rounding_mode>(val);
327
328
6
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
6
        } else if (scale_mode == ScaleMode::Negative) {
331
6
            val = Base::multiply(val, scale);
332
6
        }
333
334
6
        Base::store(out, val);
335
6
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
4
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
4
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
67
                               T* __restrict out) {
318
67
        auto val = Base::load(in);
319
320
67
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
67
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
67
        val = Base::template apply<rounding_mode>(val);
327
328
67
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
67
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
67
        Base::store(out, val);
335
67
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
8
                               T* __restrict out) {
318
8
        auto val = Base::load(in);
319
320
8
        if (scale_mode == ScaleMode::Positive) {
321
8
            val = Base::multiply(val, scale);
322
8
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
8
        val = Base::template apply<rounding_mode>(val);
327
328
8
        if (scale_mode == ScaleMode::Positive) {
329
8
            val = Base::divide(val, scale);
330
8
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
8
        Base::store(out, val);
335
8
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd
Line
Count
Source
317
6
                               T* __restrict out) {
318
6
        auto val = Base::load(in);
319
320
6
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
6
        } else if (scale_mode == ScaleMode::Negative) {
323
6
            val = Base::divide(val, scale);
324
6
        }
325
326
6
        val = Base::template apply<rounding_mode>(val);
327
328
6
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
6
        } else if (scale_mode == ScaleMode::Negative) {
331
6
            val = Base::multiply(val, scale);
332
6
        }
333
334
6
        Base::store(out, val);
335
6
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
317
4
                               T* __restrict out) {
318
4
        auto val = Base::load(in);
319
320
4
        if (scale_mode == ScaleMode::Positive) {
321
4
            val = Base::multiply(val, scale);
322
4
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
4
        val = Base::template apply<rounding_mode>(val);
327
328
4
        if (scale_mode == ScaleMode::Positive) {
329
4
            val = Base::divide(val, scale);
330
4
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
4
        Base::store(out, val);
335
4
    }
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf
Line
Count
Source
317
2
                               T* __restrict out) {
318
2
        auto val = Base::load(in);
319
320
2
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
2
        } else if (scale_mode == ScaleMode::Negative) {
323
2
            val = Base::divide(val, scale);
324
2
        }
325
326
2
        val = Base::template apply<rounding_mode>(val);
327
328
2
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
2
        } else if (scale_mode == ScaleMode::Negative) {
331
2
            val = Base::multiply(val, scale);
332
2
        }
333
334
2
        Base::store(out, val);
335
2
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
317
35
                               T* __restrict out) {
318
35
        auto val = Base::load(in);
319
320
35
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
35
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
35
        val = Base::template apply<rounding_mode>(val);
327
328
35
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
35
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
35
        Base::store(out, val);
335
35
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
317
31
                               T* __restrict out) {
318
31
        auto val = Base::load(in);
319
320
31
        if (scale_mode == ScaleMode::Positive) {
321
31
            val = Base::multiply(val, scale);
322
31
        } else if (scale_mode == ScaleMode::Negative) {
323
0
            val = Base::divide(val, scale);
324
0
        }
325
326
31
        val = Base::template apply<rounding_mode>(val);
327
328
31
        if (scale_mode == ScaleMode::Positive) {
329
31
            val = Base::divide(val, scale);
330
31
        } else if (scale_mode == ScaleMode::Negative) {
331
0
            val = Base::multiply(val, scale);
332
0
        }
333
334
31
        Base::store(out, val);
335
31
    }
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd
Line
Count
Source
317
6
                               T* __restrict out) {
318
6
        auto val = Base::load(in);
319
320
6
        if (scale_mode == ScaleMode::Positive) {
321
0
            val = Base::multiply(val, scale);
322
6
        } else if (scale_mode == ScaleMode::Negative) {
323
6
            val = Base::divide(val, scale);
324
6
        }
325
326
6
        val = Base::template apply<rounding_mode>(val);
327
328
6
        if (scale_mode == ScaleMode::Positive) {
329
0
            val = Base::divide(val, scale);
330
6
        } else if (scale_mode == ScaleMode::Negative) {
331
6
            val = Base::multiply(val, scale);
332
6
        }
333
334
6
        Base::store(out, val);
335
6
    }
336
};
337
338
/** Implementing high-level rounding functions.
339
  */
340
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
341
          TieBreakingMode tie_breaking_mode>
342
struct FloatRoundingImpl {
343
private:
344
    using T = typename PrimitiveTypeTraits<Type>::CppType;
345
    static_assert(!is_decimal(Type));
346
347
    using Op = FloatRoundingComputation<T, rounding_mode, scale_mode, tie_breaking_mode>;
348
    using Data = std::array<T, Op::data_count>;
349
    using ColumnType = ColumnVector<Type>;
350
    using Container = typename ColumnType::Container;
351
352
public:
353
455
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
455
        auto mm_scale = Op::prepare(scale);
355
356
455
        const size_t data_count = std::tuple_size<Data>();
357
358
455
        const T* end_in = in.data() + in.size();
359
455
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
455
        const T* __restrict p_in = in.data();
362
455
        T* __restrict p_out = out.data();
363
364
2.38k
        while (p_in < limit) {
365
1.93k
            Op::compute(p_in, mm_scale, p_out);
366
1.93k
            p_in += data_count;
367
1.93k
            p_out += data_count;
368
1.93k
        }
369
370
455
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
455
    }
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
353
10
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
10
        auto mm_scale = Op::prepare(scale);
355
356
10
        const size_t data_count = std::tuple_size<Data>();
357
358
10
        const T* end_in = in.data() + in.size();
359
10
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
10
        const T* __restrict p_in = in.data();
362
10
        T* __restrict p_out = out.data();
363
364
20
        while (p_in < limit) {
365
10
            Op::compute(p_in, mm_scale, p_out);
366
10
            p_in += data_count;
367
10
            p_out += data_count;
368
10
        }
369
370
10
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
10
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
20
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
20
        auto mm_scale = Op::prepare(scale);
355
356
20
        const size_t data_count = std::tuple_size<Data>();
357
358
20
        const T* end_in = in.data() + in.size();
359
20
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
20
        const T* __restrict p_in = in.data();
362
20
        T* __restrict p_out = out.data();
363
364
59
        while (p_in < limit) {
365
39
            Op::compute(p_in, mm_scale, p_out);
366
39
            p_in += data_count;
367
39
            p_out += data_count;
368
39
        }
369
370
20
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
20
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
8
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
8
        auto mm_scale = Op::prepare(scale);
355
356
8
        const size_t data_count = std::tuple_size<Data>();
357
358
8
        const T* end_in = in.data() + in.size();
359
8
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
8
        const T* __restrict p_in = in.data();
362
8
        T* __restrict p_out = out.data();
363
364
16
        while (p_in < limit) {
365
8
            Op::compute(p_in, mm_scale, p_out);
366
8
            p_in += data_count;
367
8
            p_out += data_count;
368
8
        }
369
370
8
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
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
353
41
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
41
        auto mm_scale = Op::prepare(scale);
355
356
41
        const size_t data_count = std::tuple_size<Data>();
357
358
41
        const T* end_in = in.data() + in.size();
359
41
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
41
        const T* __restrict p_in = in.data();
362
41
        T* __restrict p_out = out.data();
363
364
121
        while (p_in < limit) {
365
80
            Op::compute(p_in, mm_scale, p_out);
366
80
            p_in += data_count;
367
80
            p_out += data_count;
368
80
        }
369
370
41
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
41
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
63
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
63
        auto mm_scale = Op::prepare(scale);
355
356
63
        const size_t data_count = std::tuple_size<Data>();
357
358
63
        const T* end_in = in.data() + in.size();
359
63
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
63
        const T* __restrict p_in = in.data();
362
63
        T* __restrict p_out = out.data();
363
364
177
        while (p_in < limit) {
365
114
            Op::compute(p_in, mm_scale, p_out);
366
114
            p_in += data_count;
367
114
            p_out += data_count;
368
114
        }
369
370
63
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
63
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
270
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
270
        auto mm_scale = Op::prepare(scale);
355
356
270
        const size_t data_count = std::tuple_size<Data>();
357
358
270
        const T* end_in = in.data() + in.size();
359
270
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
270
        const T* __restrict p_in = in.data();
362
270
        T* __restrict p_out = out.data();
363
364
1.83k
        while (p_in < limit) {
365
1.56k
            Op::compute(p_in, mm_scale, p_out);
366
1.56k
            p_in += data_count;
367
1.56k
            p_out += data_count;
368
1.56k
        }
369
370
270
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
270
    }
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
353
24
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
24
        auto mm_scale = Op::prepare(scale);
355
356
24
        const size_t data_count = std::tuple_size<Data>();
357
358
24
        const T* end_in = in.data() + in.size();
359
24
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
24
        const T* __restrict p_in = in.data();
362
24
        T* __restrict p_out = out.data();
363
364
85
        while (p_in < limit) {
365
61
            Op::compute(p_in, mm_scale, p_out);
366
61
            p_in += data_count;
367
61
            p_out += data_count;
368
61
        }
369
370
24
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
24
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
11
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
11
        auto mm_scale = Op::prepare(scale);
355
356
11
        const size_t data_count = std::tuple_size<Data>();
357
358
11
        const T* end_in = in.data() + in.size();
359
11
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
11
        const T* __restrict p_in = in.data();
362
11
        T* __restrict p_out = out.data();
363
364
42
        while (p_in < limit) {
365
31
            Op::compute(p_in, mm_scale, p_out);
366
31
            p_in += data_count;
367
31
            p_out += data_count;
368
31
        }
369
370
11
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
11
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
Line
Count
Source
353
8
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
354
8
        auto mm_scale = Op::prepare(scale);
355
356
8
        const size_t data_count = std::tuple_size<Data>();
357
358
8
        const T* end_in = in.data() + in.size();
359
8
        const T* limit = in.data() + in.size() / data_count * data_count;
360
361
8
        const T* __restrict p_in = in.data();
362
8
        T* __restrict p_out = out.data();
363
364
33
        while (p_in < limit) {
365
25
            Op::compute(p_in, mm_scale, p_out);
366
25
            p_in += data_count;
367
25
            p_out += data_count;
368
25
        }
369
370
8
        if (p_in < end_in) {
371
0
            Data tmp_src {{}};
372
0
            Data tmp_dst;
373
374
0
            size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in);
375
376
0
            memcpy(&tmp_src, p_in, tail_size_bytes);
377
0
            Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst));
378
0
            memcpy(p_out, &tmp_dst, tail_size_bytes);
379
0
        }
380
8
    }
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSA_
381
382
133
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
133
        auto mm_scale = Op::prepare(scale);
384
133
        Op::compute(&in, mm_scale, &out);
385
133
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
14
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
14
        auto mm_scale = Op::prepare(scale);
384
14
        Op::compute(&in, mm_scale, &out);
385
14
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
5
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
5
        auto mm_scale = Op::prepare(scale);
384
5
        Op::compute(&in, mm_scale, &out);
385
5
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
12
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
12
        auto mm_scale = Op::prepare(scale);
384
12
        Op::compute(&in, mm_scale, &out);
385
12
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
8
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
8
        auto mm_scale = Op::prepare(scale);
384
8
        Op::compute(&in, mm_scale, &out);
385
8
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKfmRf
Line
Count
Source
382
2
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
2
        auto mm_scale = Op::prepare(scale);
384
2
        Op::compute(&in, mm_scale, &out);
385
2
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
382
4
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
4
        auto mm_scale = Op::prepare(scale);
384
4
        Op::compute(&in, mm_scale, &out);
385
4
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKdmRd
Line
Count
Source
382
6
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
383
6
        auto mm_scale = Op::prepare(scale);
384
6
        Op::compute(&in, mm_scale, &out);
385
6
    }
386
};
387
388
template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode,
389
          TieBreakingMode tie_breaking_mode>
390
struct IntegerRoundingImpl {
391
private:
392
    using T = typename PrimitiveTypeTraits<Type>::CppType;
393
    using Op =
394
            IntegerRoundingComputation<Type, rounding_mode, scale_mode, tie_breaking_mode, size_t>;
395
    using Container = typename ColumnVector<Type>::Container;
396
397
public:
398
    template <size_t scale>
399
0
    static NO_INLINE void applyImpl(const Container& in, Container& out) {
400
0
        const T* end_in = in.data() + in.size();
401
402
0
        const T* __restrict p_in = in.data();
403
0
        T* __restrict p_out = out.data();
404
405
0
        while (p_in < end_in) {
406
0
            Op::compute(p_in, scale, p_out, 1);
407
0
            ++p_in;
408
0
            ++p_out;
409
0
        }
410
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_
411
412
0
    static NO_INLINE void apply(const Container& in, size_t scale, Container& out) {
413
        /// Manual function cloning for compiler to generate integer division by constant.
414
0
        switch (scale) {
415
0
        case 1ULL:
416
0
            return applyImpl<1ULL>(in, out);
417
0
        case 10ULL:
418
0
            return applyImpl<10ULL>(in, out);
419
0
        case 100ULL:
420
0
            return applyImpl<100ULL>(in, out);
421
0
        case 1000ULL:
422
0
            return applyImpl<1000ULL>(in, out);
423
0
        case 10000ULL:
424
0
            return applyImpl<10000ULL>(in, out);
425
0
        case 100000ULL:
426
0
            return applyImpl<100000ULL>(in, out);
427
0
        case 1000000ULL:
428
0
            return applyImpl<1000000ULL>(in, out);
429
0
        case 10000000ULL:
430
0
            return applyImpl<10000000ULL>(in, out);
431
0
        case 100000000ULL:
432
0
            return applyImpl<100000000ULL>(in, out);
433
0
        case 1000000000ULL:
434
0
            return applyImpl<1000000000ULL>(in, out);
435
0
        case 10000000000ULL:
436
0
            return applyImpl<10000000000ULL>(in, out);
437
0
        case 100000000000ULL:
438
0
            return applyImpl<100000000000ULL>(in, out);
439
0
        case 1000000000000ULL:
440
0
            return applyImpl<1000000000000ULL>(in, out);
441
0
        case 10000000000000ULL:
442
0
            return applyImpl<10000000000000ULL>(in, out);
443
0
        case 100000000000000ULL:
444
0
            return applyImpl<100000000000000ULL>(in, out);
445
0
        case 1000000000000000ULL:
446
0
            return applyImpl<1000000000000000ULL>(in, out);
447
0
        case 10000000000000000ULL:
448
0
            return applyImpl<10000000000000000ULL>(in, out);
449
0
        case 100000000000000000ULL:
450
0
            return applyImpl<100000000000000000ULL>(in, out);
451
0
        case 1000000000000000000ULL:
452
0
            return applyImpl<1000000000000000000ULL>(in, out);
453
0
        case 10000000000000000000ULL:
454
0
            return applyImpl<10000000000000000000ULL>(in, out);
455
0
        default:
456
0
            throw doris::Exception(ErrorCode::INTERNAL_ERROR,
457
0
                                   "IntegerRoundingImpl __builtin_unreachable ", scale);
458
0
            __builtin_unreachable();
459
0
        }
460
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_
461
462
0
    static NO_INLINE void apply(const T& in, size_t scale, T& out) {
463
0
        Op::compute(&in, scale, &out, 1);
464
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
465
};
466
467
/** Select the appropriate processing algorithm depending on the scale.
468
  */
469
template <PrimitiveType T, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
470
struct Dispatcher {
471
    template <ScaleMode scale_mode>
472
    using FunctionRoundingImpl = std::conditional_t<
473
            is_decimal(T), DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>,
474
            std::conditional_t<
475
                    is_float_or_double(T) || T == TYPE_TIMEV2,
476
                    FloatRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>,
477
                    IntegerRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>>>;
478
479
    // scale_arg: scale for function computation
480
    // result_scale: scale for result decimal, this scale is got from planner
481
    static ColumnPtr apply_vec_const(const IColumn* col_general, const Int16 scale_arg,
482
1.75k
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
454
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
454
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
454
            auto col_res = ColumnVector<T>::create();
487
488
454
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
454
            vec_res.resize(col->get_data().size());
490
491
455
            if (!vec_res.empty()) {
492
455
                if (scale_arg == 0) {
493
149
                    size_t scale = 1;
494
149
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
306
                } else if (scale_arg > 0) {
496
298
                    size_t scale = int_exp10(scale_arg);
497
298
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
298
                                                                     vec_res);
499
298
                } else {
500
8
                    size_t scale = int_exp10(-scale_arg);
501
8
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
8
                                                                     vec_res);
503
8
                }
504
455
            }
505
506
454
            return col_res;
507
454
        } else if constexpr (T == TYPE_DECIMALV2) {
508
0
            const auto* const decimal_col =
509
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
0
            const auto& vec_src = decimal_col->get_data();
511
0
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
0
            auto& vec_res = col_res->get_data();
513
514
0
            if (!vec_res.empty()) {
515
0
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
0
                                                                 decimal_col->get_scale(), vec_res,
517
0
                                                                 scale_arg, result_scale);
518
0
            }
519
0
            return col_res;
520
1.30k
        } else if constexpr (is_decimal(T)) {
521
1.30k
            const auto* const decimal_col =
522
1.30k
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
1.30k
            const auto& vec_src = decimal_col->get_data();
524
1.30k
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
1.30k
            auto& vec_res = col_res->get_data();
526
527
1.30k
            if (!vec_res.empty()) {
528
1.30k
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
1.30k
                                                                 decimal_col->get_scale(), vec_res,
530
1.30k
                                                                 scale_arg, result_scale);
531
1.30k
            }
532
1.30k
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
1.75k
    }
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
482
38
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
38
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
38
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
38
            auto col_res = ColumnVector<T>::create();
487
488
38
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
38
            vec_res.resize(col->get_data().size());
490
491
38
            if (!vec_res.empty()) {
492
38
                if (scale_arg == 0) {
493
10
                    size_t scale = 1;
494
10
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
28
                } else if (scale_arg > 0) {
496
20
                    size_t scale = int_exp10(scale_arg);
497
20
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
20
                                                                     vec_res);
499
20
                } else {
500
8
                    size_t scale = int_exp10(-scale_arg);
501
8
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
8
                                                                     vec_res);
503
8
                }
504
38
            }
505
506
38
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
        } else if constexpr (is_decimal(T)) {
521
            const auto* const decimal_col =
522
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
            const auto& vec_src = decimal_col->get_data();
524
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
            auto& vec_res = col_res->get_data();
526
527
            if (!vec_res.empty()) {
528
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
                                                                 decimal_col->get_scale(), vec_res,
530
                                                                 scale_arg, result_scale);
531
            }
532
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
38
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
30
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
30
        } else if constexpr (is_decimal(T)) {
521
30
            const auto* const decimal_col =
522
30
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
30
            const auto& vec_src = decimal_col->get_data();
524
30
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
30
            auto& vec_res = col_res->get_data();
526
527
30
            if (!vec_res.empty()) {
528
30
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
30
                                                                 decimal_col->get_scale(), vec_res,
530
30
                                                                 scale_arg, result_scale);
531
30
            }
532
30
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
30
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
26
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
26
        } else if constexpr (is_decimal(T)) {
521
26
            const auto* const decimal_col =
522
26
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
26
            const auto& vec_src = decimal_col->get_data();
524
26
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
26
            auto& vec_res = col_res->get_data();
526
527
26
            if (!vec_res.empty()) {
528
26
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
26
                                                                 decimal_col->get_scale(), vec_res,
530
26
                                                                 scale_arg, result_scale);
531
26
            }
532
26
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
26
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
19
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
19
        } else if constexpr (is_decimal(T)) {
521
19
            const auto* const decimal_col =
522
19
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
19
            const auto& vec_src = decimal_col->get_data();
524
19
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
19
            auto& vec_res = col_res->get_data();
526
527
19
            if (!vec_res.empty()) {
528
19
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
19
                                                                 decimal_col->get_scale(), vec_res,
530
19
                                                                 scale_arg, result_scale);
531
19
            }
532
19
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
19
    }
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
482
41
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
41
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
41
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
41
            auto col_res = ColumnVector<T>::create();
487
488
41
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
41
            vec_res.resize(col->get_data().size());
490
491
41
            if (!vec_res.empty()) {
492
41
                if (scale_arg == 0) {
493
41
                    size_t scale = 1;
494
41
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
41
                } else if (scale_arg > 0) {
496
0
                    size_t scale = int_exp10(scale_arg);
497
0
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
0
                                                                     vec_res);
499
0
                } else {
500
0
                    size_t scale = int_exp10(-scale_arg);
501
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
0
                                                                     vec_res);
503
0
                }
504
41
            }
505
506
41
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
        } else if constexpr (is_decimal(T)) {
521
            const auto* const decimal_col =
522
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
            const auto& vec_src = decimal_col->get_data();
524
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
            auto& vec_res = col_res->get_data();
526
527
            if (!vec_res.empty()) {
528
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
                                                                 decimal_col->get_scale(), vec_res,
530
                                                                 scale_arg, result_scale);
531
            }
532
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
41
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
49
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
49
        } else if constexpr (is_decimal(T)) {
521
49
            const auto* const decimal_col =
522
49
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
49
            const auto& vec_src = decimal_col->get_data();
524
49
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
49
            auto& vec_res = col_res->get_data();
526
527
50
            if (!vec_res.empty()) {
528
50
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
50
                                                                 decimal_col->get_scale(), vec_res,
530
50
                                                                 scale_arg, result_scale);
531
50
            }
532
49
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
49
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
239
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
239
        } else if constexpr (is_decimal(T)) {
521
239
            const auto* const decimal_col =
522
239
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
239
            const auto& vec_src = decimal_col->get_data();
524
239
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
239
            auto& vec_res = col_res->get_data();
526
527
239
            if (!vec_res.empty()) {
528
239
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
239
                                                                 decimal_col->get_scale(), vec_res,
530
239
                                                                 scale_arg, result_scale);
531
239
            }
532
239
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
239
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
68
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
68
        } else if constexpr (is_decimal(T)) {
521
68
            const auto* const decimal_col =
522
68
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
68
            const auto& vec_src = decimal_col->get_data();
524
68
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
68
            auto& vec_res = col_res->get_data();
526
527
68
            if (!vec_res.empty()) {
528
68
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
68
                                                                 decimal_col->get_scale(), vec_res,
530
68
                                                                 scale_arg, result_scale);
531
68
            }
532
68
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
68
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
1
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
1
        } else if constexpr (is_decimal(T)) {
521
1
            const auto* const decimal_col =
522
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
1
            const auto& vec_src = decimal_col->get_data();
524
1
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
1
            auto& vec_res = col_res->get_data();
526
527
1
            if (!vec_res.empty()) {
528
1
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
1
                                                                 decimal_col->get_scale(), vec_res,
530
1
                                                                 scale_arg, result_scale);
531
1
            }
532
1
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
332
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
332
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
332
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
332
            auto col_res = ColumnVector<T>::create();
487
488
332
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
332
            vec_res.resize(col->get_data().size());
490
491
333
            if (!vec_res.empty()) {
492
333
                if (scale_arg == 0) {
493
63
                    size_t scale = 1;
494
63
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
270
                } else if (scale_arg > 0) {
496
270
                    size_t scale = int_exp10(scale_arg);
497
270
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
270
                                                                     vec_res);
499
270
                } else {
500
0
                    size_t scale = int_exp10(-scale_arg);
501
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
0
                                                                     vec_res);
503
0
                }
504
333
            }
505
506
332
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
        } else if constexpr (is_decimal(T)) {
521
            const auto* const decimal_col =
522
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
            const auto& vec_src = decimal_col->get_data();
524
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
            auto& vec_res = col_res->get_data();
526
527
            if (!vec_res.empty()) {
528
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
                                                                 decimal_col->get_scale(), vec_res,
530
                                                                 scale_arg, result_scale);
531
            }
532
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
332
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
44
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
44
        } else if constexpr (is_decimal(T)) {
521
44
            const auto* const decimal_col =
522
44
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
44
            const auto& vec_src = decimal_col->get_data();
524
44
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
44
            auto& vec_res = col_res->get_data();
526
527
44
            if (!vec_res.empty()) {
528
44
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
44
                                                                 decimal_col->get_scale(), vec_res,
530
44
                                                                 scale_arg, result_scale);
531
44
            }
532
44
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
44
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
119
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
119
        } else if constexpr (is_decimal(T)) {
521
119
            const auto* const decimal_col =
522
119
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
119
            const auto& vec_src = decimal_col->get_data();
524
119
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
119
            auto& vec_res = col_res->get_data();
526
527
119
            if (!vec_res.empty()) {
528
119
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
119
                                                                 decimal_col->get_scale(), vec_res,
530
119
                                                                 scale_arg, result_scale);
531
119
            }
532
119
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
119
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
417
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
417
        } else if constexpr (is_decimal(T)) {
521
417
            const auto* const decimal_col =
522
417
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
417
            const auto& vec_src = decimal_col->get_data();
524
417
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
417
            auto& vec_res = col_res->get_data();
526
527
417
            if (!vec_res.empty()) {
528
417
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
417
                                                                 decimal_col->get_scale(), vec_res,
530
417
                                                                 scale_arg, result_scale);
531
417
            }
532
417
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
417
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
4
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
4
        } else if constexpr (is_decimal(T)) {
521
4
            const auto* const decimal_col =
522
4
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
4
            const auto& vec_src = decimal_col->get_data();
524
4
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
4
            auto& vec_res = col_res->get_data();
526
527
4
            if (!vec_res.empty()) {
528
4
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
4
                                                                 decimal_col->get_scale(), vec_res,
530
4
                                                                 scale_arg, result_scale);
531
4
            }
532
4
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
4
    }
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
482
24
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
24
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
24
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
24
            auto col_res = ColumnVector<T>::create();
487
488
24
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
24
            vec_res.resize(col->get_data().size());
490
491
24
            if (!vec_res.empty()) {
492
24
                if (scale_arg == 0) {
493
24
                    size_t scale = 1;
494
24
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
24
                } else if (scale_arg > 0) {
496
0
                    size_t scale = int_exp10(scale_arg);
497
0
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
0
                                                                     vec_res);
499
0
                } else {
500
0
                    size_t scale = int_exp10(-scale_arg);
501
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
0
                                                                     vec_res);
503
0
                }
504
24
            }
505
506
24
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
        } else if constexpr (is_decimal(T)) {
521
            const auto* const decimal_col =
522
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
            const auto& vec_src = decimal_col->get_data();
524
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
            auto& vec_res = col_res->get_data();
526
527
            if (!vec_res.empty()) {
528
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
                                                                 decimal_col->get_scale(), vec_res,
530
                                                                 scale_arg, result_scale);
531
            }
532
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
24
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
45
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
45
        } else if constexpr (is_decimal(T)) {
521
45
            const auto* const decimal_col =
522
45
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
45
            const auto& vec_src = decimal_col->get_data();
524
45
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
45
            auto& vec_res = col_res->get_data();
526
527
45
            if (!vec_res.empty()) {
528
45
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
45
                                                                 decimal_col->get_scale(), vec_res,
530
45
                                                                 scale_arg, result_scale);
531
45
            }
532
45
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
45
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
39
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
39
        } else if constexpr (is_decimal(T)) {
521
39
            const auto* const decimal_col =
522
39
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
39
            const auto& vec_src = decimal_col->get_data();
524
39
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
39
            auto& vec_res = col_res->get_data();
526
527
39
            if (!vec_res.empty()) {
528
39
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
39
                                                                 decimal_col->get_scale(), vec_res,
530
39
                                                                 scale_arg, result_scale);
531
39
            }
532
39
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
39
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
54
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
54
        } else if constexpr (is_decimal(T)) {
521
54
            const auto* const decimal_col =
522
54
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
54
            const auto& vec_src = decimal_col->get_data();
524
54
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
54
            auto& vec_res = col_res->get_data();
526
527
54
            if (!vec_res.empty()) {
528
54
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
54
                                                                 decimal_col->get_scale(), vec_res,
530
54
                                                                 scale_arg, result_scale);
531
54
            }
532
54
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
54
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
1
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
1
        } else if constexpr (is_decimal(T)) {
521
1
            const auto* const decimal_col =
522
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
1
            const auto& vec_src = decimal_col->get_data();
524
1
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
1
            auto& vec_res = col_res->get_data();
526
527
1
            if (!vec_res.empty()) {
528
1
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
1
                                                                 decimal_col->get_scale(), vec_res,
530
1
                                                                 scale_arg, result_scale);
531
1
            }
532
1
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
19
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
19
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
19
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
19
            auto col_res = ColumnVector<T>::create();
487
488
19
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
19
            vec_res.resize(col->get_data().size());
490
491
19
            if (!vec_res.empty()) {
492
19
                if (scale_arg == 0) {
493
11
                    size_t scale = 1;
494
11
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
11
                } else if (scale_arg > 0) {
496
8
                    size_t scale = int_exp10(scale_arg);
497
8
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
8
                                                                     vec_res);
499
8
                } else {
500
0
                    size_t scale = int_exp10(-scale_arg);
501
0
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
0
                                                                     vec_res);
503
0
                }
504
19
            }
505
506
19
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
        } else if constexpr (is_decimal(T)) {
521
            const auto* const decimal_col =
522
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
            const auto& vec_src = decimal_col->get_data();
524
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
            auto& vec_res = col_res->get_data();
526
527
            if (!vec_res.empty()) {
528
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
                                                                 decimal_col->get_scale(), vec_res,
530
                                                                 scale_arg, result_scale);
531
            }
532
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
19
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
31
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
31
        } else if constexpr (is_decimal(T)) {
521
31
            const auto* const decimal_col =
522
31
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
31
            const auto& vec_src = decimal_col->get_data();
524
31
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
31
            auto& vec_res = col_res->get_data();
526
527
31
            if (!vec_res.empty()) {
528
31
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
31
                                                                 decimal_col->get_scale(), vec_res,
530
31
                                                                 scale_arg, result_scale);
531
31
            }
532
31
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
31
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
91
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
91
        } else if constexpr (is_decimal(T)) {
521
91
            const auto* const decimal_col =
522
91
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
91
            const auto& vec_src = decimal_col->get_data();
524
91
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
91
            auto& vec_res = col_res->get_data();
526
527
91
            if (!vec_res.empty()) {
528
91
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
91
                                                                 decimal_col->get_scale(), vec_res,
530
91
                                                                 scale_arg, result_scale);
531
91
            }
532
91
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
91
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
Line
Count
Source
482
28
                                     [[maybe_unused]] Int16 result_scale) {
483
        if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) ||
484
                      T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) {
485
            const auto* const col = assert_cast<const ColumnVector<T>*>(col_general);
486
            auto col_res = ColumnVector<T>::create();
487
488
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
489
            vec_res.resize(col->get_data().size());
490
491
            if (!vec_res.empty()) {
492
                if (scale_arg == 0) {
493
                    size_t scale = 1;
494
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res);
495
                } else if (scale_arg > 0) {
496
                    size_t scale = int_exp10(scale_arg);
497
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale,
498
                                                                     vec_res);
499
                } else {
500
                    size_t scale = int_exp10(-scale_arg);
501
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale,
502
                                                                     vec_res);
503
                }
504
            }
505
506
            return col_res;
507
        } else if constexpr (T == TYPE_DECIMALV2) {
508
            const auto* const decimal_col =
509
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
510
            const auto& vec_src = decimal_col->get_data();
511
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
512
            auto& vec_res = col_res->get_data();
513
514
            if (!vec_res.empty()) {
515
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
516
                                                                 decimal_col->get_scale(), vec_res,
517
                                                                 scale_arg, result_scale);
518
            }
519
            return col_res;
520
28
        } else if constexpr (is_decimal(T)) {
521
28
            const auto* const decimal_col =
522
28
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
523
28
            const auto& vec_src = decimal_col->get_data();
524
28
            auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale);
525
28
            auto& vec_res = col_res->get_data();
526
527
28
            if (!vec_res.empty()) {
528
28
                FunctionRoundingImpl<ScaleMode::Negative>::apply(decimal_col->get_data(),
529
28
                                                                 decimal_col->get_scale(), vec_res,
530
28
                                                                 scale_arg, result_scale);
531
28
            }
532
28
            return col_res;
533
        } else {
534
            static_assert(false);
535
        }
536
28
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss
537
538
    // result_scale: scale for result decimal, this scale is got from planner
539
    static ColumnPtr apply_vec_vec(const IColumn* col_general, const IColumn* col_scale,
540
420
                                   [[maybe_unused]] Int16 result_scale) {
541
420
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
420
        const size_t input_row_count = col_scale_i32.size();
543
2.81k
        for (size_t i = 0; i < input_row_count; ++i) {
544
2.39k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
2.39k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
2.39k
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
2.39k
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
82
                      T == TYPE_TIMEV2) {
555
82
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
82
            auto col_res = ColumnVector<T>::create();
557
82
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
82
            vec_res.resize(input_row_count);
559
560
166
            for (size_t i = 0; i < input_row_count; ++i) {
561
84
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
84
                if (scale_arg == 0) {
563
21
                    size_t scale = 1;
564
21
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
21
                                                                 vec_res[i]);
566
63
                } else if (scale_arg > 0) {
567
41
                    size_t scale = int_exp10(scale_arg);
568
41
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
41
                                                                     vec_res[i]);
570
41
                } else {
571
22
                    size_t scale = int_exp10(-scale_arg);
572
22
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
22
                                                                     vec_res[i]);
574
22
                }
575
84
            }
576
82
            return col_res;
577
82
        } else if constexpr (T == TYPE_DECIMALV2) {
578
0
            const auto* decimal_col =
579
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
0
            const Int32 input_scale = decimal_col->get_scale();
581
0
            auto col_res =
582
0
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
0
            for (size_t i = 0; i < input_row_count; ++i) {
585
0
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
0
                        decimal_col->get_element(i).value(), input_scale,
587
0
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
0
            }
589
590
0
            return col_res;
591
338
        } else if constexpr (is_decimal(T)) {
592
338
            const auto* decimal_col =
593
338
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
338
            const Int32 input_scale = decimal_col->get_scale();
595
338
            auto col_res =
596
338
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
2.64k
            for (size_t i = 0; i < input_row_count; ++i) {
599
2.31k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
2.31k
                        decimal_col->get_element(i).value, input_scale,
601
2.31k
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
2.31k
            }
603
604
338
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
420
    }
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
540
4
                                   [[maybe_unused]] Int16 result_scale) {
541
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
4
        const size_t input_row_count = col_scale_i32.size();
543
8
        for (size_t i = 0; i < input_row_count; ++i) {
544
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
4
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
4
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
4
                      T == TYPE_TIMEV2) {
555
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
4
            auto col_res = ColumnVector<T>::create();
557
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
4
            vec_res.resize(input_row_count);
559
560
8
            for (size_t i = 0; i < input_row_count; ++i) {
561
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
4
                if (scale_arg == 0) {
563
1
                    size_t scale = 1;
564
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
1
                                                                 vec_res[i]);
566
3
                } else if (scale_arg > 0) {
567
2
                    size_t scale = int_exp10(scale_arg);
568
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
2
                                                                     vec_res[i]);
570
2
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
4
            }
576
4
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
13
                                   [[maybe_unused]] Int16 result_scale) {
541
13
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
13
        const size_t input_row_count = col_scale_i32.size();
543
26
        for (size_t i = 0; i < input_row_count; ++i) {
544
13
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
13
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
13
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
13
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
13
                      T == TYPE_TIMEV2) {
555
13
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
13
            auto col_res = ColumnVector<T>::create();
557
13
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
13
            vec_res.resize(input_row_count);
559
560
26
            for (size_t i = 0; i < input_row_count; ++i) {
561
13
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
13
                if (scale_arg == 0) {
563
1
                    size_t scale = 1;
564
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
1
                                                                 vec_res[i]);
566
12
                } else if (scale_arg > 0) {
567
11
                    size_t scale = int_exp10(scale_arg);
568
11
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
11
                                                                     vec_res[i]);
570
11
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
13
            }
576
13
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
13
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
24
                                   [[maybe_unused]] Int16 result_scale) {
541
24
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
24
        const size_t input_row_count = col_scale_i32.size();
543
312
        for (size_t i = 0; i < input_row_count; ++i) {
544
288
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
288
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
288
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
288
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
24
        } else if constexpr (is_decimal(T)) {
592
24
            const auto* decimal_col =
593
24
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
24
            const Int32 input_scale = decimal_col->get_scale();
595
24
            auto col_res =
596
24
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
312
            for (size_t i = 0; i < input_row_count; ++i) {
599
288
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
288
                        decimal_col->get_element(i).value, input_scale,
601
288
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
288
            }
603
604
24
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
24
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
8
                                   [[maybe_unused]] Int16 result_scale) {
541
8
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
8
        const size_t input_row_count = col_scale_i32.size();
543
159
        for (size_t i = 0; i < input_row_count; ++i) {
544
151
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
151
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
151
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
151
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
8
        } else if constexpr (is_decimal(T)) {
592
8
            const auto* decimal_col =
593
8
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
8
            const Int32 input_scale = decimal_col->get_scale();
595
8
            auto col_res =
596
8
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
159
            for (size_t i = 0; i < input_row_count; ++i) {
599
151
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
151
                        decimal_col->get_element(i).value, input_scale,
601
151
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
151
            }
603
604
8
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
8
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
3
                                   [[maybe_unused]] Int16 result_scale) {
541
3
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
3
        const size_t input_row_count = col_scale_i32.size();
543
6
        for (size_t i = 0; i < input_row_count; ++i) {
544
3
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
3
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
3
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
3
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
3
        } else if constexpr (is_decimal(T)) {
592
3
            const auto* decimal_col =
593
3
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
3
            const Int32 input_scale = decimal_col->get_scale();
595
3
            auto col_res =
596
3
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
6
            for (size_t i = 0; i < input_row_count; ++i) {
599
3
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
3
                        decimal_col->get_element(i).value, input_scale,
601
3
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
3
            }
603
604
3
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
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
540
4
                                   [[maybe_unused]] Int16 result_scale) {
541
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
4
        const size_t input_row_count = col_scale_i32.size();
543
8
        for (size_t i = 0; i < input_row_count; ++i) {
544
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
4
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
4
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
4
                      T == TYPE_TIMEV2) {
555
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
4
            auto col_res = ColumnVector<T>::create();
557
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
4
            vec_res.resize(input_row_count);
559
560
8
            for (size_t i = 0; i < input_row_count; ++i) {
561
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
4
                if (scale_arg == 0) {
563
1
                    size_t scale = 1;
564
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
1
                                                                 vec_res[i]);
566
3
                } else if (scale_arg > 0) {
567
2
                    size_t scale = int_exp10(scale_arg);
568
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
2
                                                                     vec_res[i]);
570
2
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
4
            }
576
4
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
12
                                   [[maybe_unused]] Int16 result_scale) {
541
12
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
12
        const size_t input_row_count = col_scale_i32.size();
543
26
        for (size_t i = 0; i < input_row_count; ++i) {
544
14
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
14
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
14
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
14
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
12
                      T == TYPE_TIMEV2) {
555
12
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
12
            auto col_res = ColumnVector<T>::create();
557
12
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
12
            vec_res.resize(input_row_count);
559
560
26
            for (size_t i = 0; i < input_row_count; ++i) {
561
14
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
14
                if (scale_arg == 0) {
563
4
                    size_t scale = 1;
564
4
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
4
                                                                 vec_res[i]);
566
10
                } else if (scale_arg > 0) {
567
9
                    size_t scale = int_exp10(scale_arg);
568
9
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
9
                                                                     vec_res[i]);
570
9
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
14
            }
576
12
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
12
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
86
                                   [[maybe_unused]] Int16 result_scale) {
541
86
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
86
        const size_t input_row_count = col_scale_i32.size();
543
436
        for (size_t i = 0; i < input_row_count; ++i) {
544
350
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
350
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
350
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
350
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
86
        } else if constexpr (is_decimal(T)) {
592
86
            const auto* decimal_col =
593
86
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
86
            const Int32 input_scale = decimal_col->get_scale();
595
86
            auto col_res =
596
86
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
436
            for (size_t i = 0; i < input_row_count; ++i) {
599
350
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
350
                        decimal_col->get_element(i).value, input_scale,
601
350
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
350
            }
603
604
86
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
86
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
18
                                   [[maybe_unused]] Int16 result_scale) {
541
18
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
18
        const size_t input_row_count = col_scale_i32.size();
543
179
        for (size_t i = 0; i < input_row_count; ++i) {
544
161
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
161
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
161
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
161
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
18
        } else if constexpr (is_decimal(T)) {
592
18
            const auto* decimal_col =
593
18
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
18
            const Int32 input_scale = decimal_col->get_scale();
595
18
            auto col_res =
596
18
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
179
            for (size_t i = 0; i < input_row_count; ++i) {
599
161
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
161
                        decimal_col->get_element(i).value, input_scale,
601
161
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
161
            }
603
604
18
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
18
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
5
                                   [[maybe_unused]] Int16 result_scale) {
541
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
5
        const size_t input_row_count = col_scale_i32.size();
543
10
        for (size_t i = 0; i < input_row_count; ++i) {
544
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
5
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
5
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
5
        } else if constexpr (is_decimal(T)) {
592
5
            const auto* decimal_col =
593
5
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
5
            const Int32 input_scale = decimal_col->get_scale();
595
5
            auto col_res =
596
5
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
10
            for (size_t i = 0; i < input_row_count; ++i) {
599
5
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
5
                        decimal_col->get_element(i).value, input_scale,
601
5
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
5
            }
603
604
5
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
5
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
5
                                   [[maybe_unused]] Int16 result_scale) {
541
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
5
        const size_t input_row_count = col_scale_i32.size();
543
10
        for (size_t i = 0; i < input_row_count; ++i) {
544
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
5
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
5
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
5
                      T == TYPE_TIMEV2) {
555
5
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
5
            auto col_res = ColumnVector<T>::create();
557
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
5
            vec_res.resize(input_row_count);
559
560
10
            for (size_t i = 0; i < input_row_count; ++i) {
561
5
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
5
                if (scale_arg == 0) {
563
2
                    size_t scale = 1;
564
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
2
                                                                 vec_res[i]);
566
3
                } else if (scale_arg > 0) {
567
2
                    size_t scale = int_exp10(scale_arg);
568
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
2
                                                                     vec_res[i]);
570
2
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
5
            }
576
5
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
10
                                   [[maybe_unused]] Int16 result_scale) {
541
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
10
        const size_t input_row_count = col_scale_i32.size();
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 > std::numeric_limits<Int16>::max() ||
546
10
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
10
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
10
                      T == TYPE_TIMEV2) {
555
10
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
10
            auto col_res = ColumnVector<T>::create();
557
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
10
            vec_res.resize(input_row_count);
559
560
20
            for (size_t i = 0; i < input_row_count; ++i) {
561
10
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
10
                if (scale_arg == 0) {
563
2
                    size_t scale = 1;
564
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
2
                                                                 vec_res[i]);
566
8
                } else if (scale_arg > 0) {
567
3
                    size_t scale = int_exp10(scale_arg);
568
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
3
                                                                     vec_res[i]);
570
5
                } else {
571
5
                    size_t scale = int_exp10(-scale_arg);
572
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
5
                                                                     vec_res[i]);
574
5
                }
575
10
            }
576
10
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
25
                                   [[maybe_unused]] Int16 result_scale) {
541
25
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
25
        const size_t input_row_count = col_scale_i32.size();
543
314
        for (size_t i = 0; i < input_row_count; ++i) {
544
289
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
289
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
289
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
289
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
25
        } else if constexpr (is_decimal(T)) {
592
25
            const auto* decimal_col =
593
25
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
25
            const Int32 input_scale = decimal_col->get_scale();
595
25
            auto col_res =
596
25
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
314
            for (size_t i = 0; i < input_row_count; ++i) {
599
289
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
289
                        decimal_col->get_element(i).value, input_scale,
601
289
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
289
            }
603
604
25
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
25
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
14
                                   [[maybe_unused]] Int16 result_scale) {
541
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
14
        const size_t input_row_count = col_scale_i32.size();
543
171
        for (size_t i = 0; i < input_row_count; ++i) {
544
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
157
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
157
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
14
        } else if constexpr (is_decimal(T)) {
592
14
            const auto* decimal_col =
593
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
14
            const Int32 input_scale = decimal_col->get_scale();
595
14
            auto col_res =
596
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
171
            for (size_t i = 0; i < input_row_count; ++i) {
599
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
157
                        decimal_col->get_element(i).value, input_scale,
601
157
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
157
            }
603
604
14
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
5
                                   [[maybe_unused]] Int16 result_scale) {
541
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
5
        const size_t input_row_count = col_scale_i32.size();
543
10
        for (size_t i = 0; i < input_row_count; ++i) {
544
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
5
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
5
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
5
        } else if constexpr (is_decimal(T)) {
592
5
            const auto* decimal_col =
593
5
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
5
            const Int32 input_scale = decimal_col->get_scale();
595
5
            auto col_res =
596
5
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
10
            for (size_t i = 0; i < input_row_count; ++i) {
599
5
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
5
                        decimal_col->get_element(i).value, input_scale,
601
5
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
5
            }
603
604
5
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
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
540
4
                                   [[maybe_unused]] Int16 result_scale) {
541
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
4
        const size_t input_row_count = col_scale_i32.size();
543
8
        for (size_t i = 0; i < input_row_count; ++i) {
544
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
4
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
4
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
4
                      T == TYPE_TIMEV2) {
555
4
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
4
            auto col_res = ColumnVector<T>::create();
557
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
4
            vec_res.resize(input_row_count);
559
560
8
            for (size_t i = 0; i < input_row_count; ++i) {
561
4
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
4
                if (scale_arg == 0) {
563
1
                    size_t scale = 1;
564
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
1
                                                                 vec_res[i]);
566
3
                } else if (scale_arg > 0) {
567
2
                    size_t scale = int_exp10(scale_arg);
568
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
2
                                                                     vec_res[i]);
570
2
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
4
            }
576
4
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
15
                                   [[maybe_unused]] Int16 result_scale) {
541
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
15
        const size_t input_row_count = col_scale_i32.size();
543
30
        for (size_t i = 0; i < input_row_count; ++i) {
544
15
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
15
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
15
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
15
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
15
                      T == TYPE_TIMEV2) {
555
15
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
15
            auto col_res = ColumnVector<T>::create();
557
15
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
15
            vec_res.resize(input_row_count);
559
560
30
            for (size_t i = 0; i < input_row_count; ++i) {
561
15
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
15
                if (scale_arg == 0) {
563
5
                    size_t scale = 1;
564
5
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
5
                                                                 vec_res[i]);
566
10
                } else if (scale_arg > 0) {
567
5
                    size_t scale = int_exp10(scale_arg);
568
5
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
5
                                                                     vec_res[i]);
570
5
                } else {
571
5
                    size_t scale = int_exp10(-scale_arg);
572
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
5
                                                                     vec_res[i]);
574
5
                }
575
15
            }
576
15
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
87
                                   [[maybe_unused]] Int16 result_scale) {
541
87
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
87
        const size_t input_row_count = col_scale_i32.size();
543
380
        for (size_t i = 0; i < input_row_count; ++i) {
544
293
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
293
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
293
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
293
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
87
        } else if constexpr (is_decimal(T)) {
592
87
            const auto* decimal_col =
593
87
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
87
            const Int32 input_scale = decimal_col->get_scale();
595
87
            auto col_res =
596
87
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
380
            for (size_t i = 0; i < input_row_count; ++i) {
599
293
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
293
                        decimal_col->get_element(i).value, input_scale,
601
293
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
293
            }
603
604
87
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
87
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
17
                                   [[maybe_unused]] Int16 result_scale) {
541
17
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
17
        const size_t input_row_count = col_scale_i32.size();
543
173
        for (size_t i = 0; i < input_row_count; ++i) {
544
156
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
156
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
156
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
156
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
17
        } else if constexpr (is_decimal(T)) {
592
17
            const auto* decimal_col =
593
17
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
17
            const Int32 input_scale = decimal_col->get_scale();
595
17
            auto col_res =
596
17
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
173
            for (size_t i = 0; i < input_row_count; ++i) {
599
156
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
156
                        decimal_col->get_element(i).value, input_scale,
601
156
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
156
            }
603
604
17
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
17
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
4
                                   [[maybe_unused]] Int16 result_scale) {
541
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
4
        const size_t input_row_count = col_scale_i32.size();
543
8
        for (size_t i = 0; i < input_row_count; ++i) {
544
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
4
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
4
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
4
        } else if constexpr (is_decimal(T)) {
592
4
            const auto* decimal_col =
593
4
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
4
            const Int32 input_scale = decimal_col->get_scale();
595
4
            auto col_res =
596
4
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
8
            for (size_t i = 0; i < input_row_count; ++i) {
599
4
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
4
                        decimal_col->get_element(i).value, input_scale,
601
4
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
4
            }
603
604
4
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
4
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
5
                                   [[maybe_unused]] Int16 result_scale) {
541
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
5
        const size_t input_row_count = col_scale_i32.size();
543
10
        for (size_t i = 0; i < input_row_count; ++i) {
544
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
5
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
5
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
5
                      T == TYPE_TIMEV2) {
555
5
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
5
            auto col_res = ColumnVector<T>::create();
557
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
5
            vec_res.resize(input_row_count);
559
560
10
            for (size_t i = 0; i < input_row_count; ++i) {
561
5
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
5
                if (scale_arg == 0) {
563
2
                    size_t scale = 1;
564
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
2
                                                                 vec_res[i]);
566
3
                } else if (scale_arg > 0) {
567
2
                    size_t scale = int_exp10(scale_arg);
568
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
2
                                                                     vec_res[i]);
570
2
                } else {
571
1
                    size_t scale = int_exp10(-scale_arg);
572
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
1
                                                                     vec_res[i]);
574
1
                }
575
5
            }
576
5
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
10
                                   [[maybe_unused]] Int16 result_scale) {
541
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
10
        const size_t input_row_count = col_scale_i32.size();
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 > std::numeric_limits<Int16>::max() ||
546
10
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
10
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
10
                      T == TYPE_TIMEV2) {
555
10
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
10
            auto col_res = ColumnVector<T>::create();
557
10
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
10
            vec_res.resize(input_row_count);
559
560
20
            for (size_t i = 0; i < input_row_count; ++i) {
561
10
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
10
                if (scale_arg == 0) {
563
2
                    size_t scale = 1;
564
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
2
                                                                 vec_res[i]);
566
8
                } else if (scale_arg > 0) {
567
3
                    size_t scale = int_exp10(scale_arg);
568
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
3
                                                                     vec_res[i]);
570
5
                } else {
571
5
                    size_t scale = int_exp10(-scale_arg);
572
5
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
5
                                                                     vec_res[i]);
574
5
                }
575
10
            }
576
10
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
        } else if constexpr (is_decimal(T)) {
592
            const auto* decimal_col =
593
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
            const Int32 input_scale = decimal_col->get_scale();
595
            auto col_res =
596
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
            for (size_t i = 0; i < input_row_count; ++i) {
599
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
                        decimal_col->get_element(i).value, input_scale,
601
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
            }
603
604
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
10
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
25
                                   [[maybe_unused]] Int16 result_scale) {
541
25
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
25
        const size_t input_row_count = col_scale_i32.size();
543
314
        for (size_t i = 0; i < input_row_count; ++i) {
544
289
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
289
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
289
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
289
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
25
        } else if constexpr (is_decimal(T)) {
592
25
            const auto* decimal_col =
593
25
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
25
            const Int32 input_scale = decimal_col->get_scale();
595
25
            auto col_res =
596
25
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
314
            for (size_t i = 0; i < input_row_count; ++i) {
599
289
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
289
                        decimal_col->get_element(i).value, input_scale,
601
289
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
289
            }
603
604
25
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
25
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
14
                                   [[maybe_unused]] Int16 result_scale) {
541
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
14
        const size_t input_row_count = col_scale_i32.size();
543
171
        for (size_t i = 0; i < input_row_count; ++i) {
544
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
157
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
157
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
14
        } else if constexpr (is_decimal(T)) {
592
14
            const auto* decimal_col =
593
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
14
            const Int32 input_scale = decimal_col->get_scale();
595
14
            auto col_res =
596
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
171
            for (size_t i = 0; i < input_row_count; ++i) {
599
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
157
                        decimal_col->get_element(i).value, input_scale,
601
157
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
157
            }
603
604
14
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
Line
Count
Source
540
3
                                   [[maybe_unused]] Int16 result_scale) {
541
3
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
542
3
        const size_t input_row_count = col_scale_i32.size();
543
6
        for (size_t i = 0; i < input_row_count; ++i) {
544
3
            const Int32 scale_arg = col_scale_i32.get_data()[i];
545
3
            if (scale_arg > std::numeric_limits<Int16>::max() ||
546
3
                scale_arg < std::numeric_limits<Int16>::min()) {
547
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
548
0
                                       "Scale argument for function is out of bound: {}",
549
0
                                       scale_arg);
550
0
            }
551
3
        }
552
553
        if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) ||
554
                      T == TYPE_TIMEV2) {
555
            const auto* col = assert_cast<const ColumnVector<T>*>(col_general);
556
            auto col_res = ColumnVector<T>::create();
557
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
558
            vec_res.resize(input_row_count);
559
560
            for (size_t i = 0; i < input_row_count; ++i) {
561
                const Int32 scale_arg = col_scale_i32.get_data()[i];
562
                if (scale_arg == 0) {
563
                    size_t scale = 1;
564
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale,
565
                                                                 vec_res[i]);
566
                } else if (scale_arg > 0) {
567
                    size_t scale = int_exp10(scale_arg);
568
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale,
569
                                                                     vec_res[i]);
570
                } else {
571
                    size_t scale = int_exp10(-scale_arg);
572
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale,
573
                                                                     vec_res[i]);
574
                }
575
            }
576
            return col_res;
577
        } else if constexpr (T == TYPE_DECIMALV2) {
578
            const auto* decimal_col =
579
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
580
            const Int32 input_scale = decimal_col->get_scale();
581
            auto col_res =
582
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
583
584
            for (size_t i = 0; i < input_row_count; ++i) {
585
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
586
                        decimal_col->get_element(i).value(), input_scale,
587
                        col_res->get_element(i).value(), col_scale_i32.get_data()[i], result_scale);
588
            }
589
590
            return col_res;
591
3
        } else if constexpr (is_decimal(T)) {
592
3
            const auto* decimal_col =
593
3
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general);
594
3
            const Int32 input_scale = decimal_col->get_scale();
595
3
            auto col_res =
596
3
                    PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale);
597
598
6
            for (size_t i = 0; i < input_row_count; ++i) {
599
3
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
600
3
                        decimal_col->get_element(i).value, input_scale,
601
3
                        col_res->get_element(i).value, col_scale_i32.get_data()[i], result_scale);
602
3
            }
603
604
3
            return col_res;
605
        } else {
606
            static_assert(false);
607
        }
608
3
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s
609
610
    // result_scale: scale for result decimal, this scale is got from planner
611
    static ColumnPtr apply_const_vec(const ColumnConst* const_col_general, const IColumn* col_scale,
612
294
                                     [[maybe_unused]] Int16 result_scale) {
613
294
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
294
        const size_t input_rows_count = col_scale->size();
615
616
2.56k
        for (size_t i = 0; i < input_rows_count; ++i) {
617
2.26k
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
2.26k
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
2.26k
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
2.26k
        }
626
627
294
        if constexpr (T == TYPE_DECIMALV2) {
628
0
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
0
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
0
                            const_col_general->get_data_column());
631
0
            const auto& general_val = data_col_general.get_data()[0];
632
0
            Int32 input_scale = data_col_general.get_scale();
633
0
            auto col_res =
634
0
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
0
            for (size_t i = 0; i < input_rows_count; ++i) {
637
0
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
0
                        general_val, input_scale, col_res->get_element(i).value(),
639
0
                        col_scale_i32.get_data()[i], result_scale);
640
0
            }
641
642
0
            return col_res;
643
245
        } else if constexpr (is_decimal(T)) {
644
245
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
245
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
245
                            const_col_general->get_data_column());
647
245
            const auto& general_val = data_col_general.get_data()[0];
648
245
            Int32 input_scale = data_col_general.get_scale();
649
245
            auto col_res =
650
245
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
2.46k
            for (size_t i = 0; i < input_rows_count; ++i) {
653
2.21k
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
2.21k
                        general_val, input_scale, col_res->get_element(i).value,
655
2.21k
                        col_scale_i32.get_data()[i], result_scale);
656
2.21k
            }
657
658
245
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
49
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
49
            const ColumnVector<T>& data_col_general =
662
49
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
49
            const auto& general_val = data_col_general.get_data()[0];
664
49
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
49
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
98
            for (size_t i = 0; i < input_rows_count; ++i) {
668
49
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
49
                if (scale_arg == 0) {
670
14
                    size_t scale = 1;
671
14
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
35
                } else if (scale_arg > 0) {
673
25
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
25
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
25
                                                                     vec_res[i]);
676
25
                } else {
677
10
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
10
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
10
                                                                     vec_res[i]);
680
10
                }
681
49
            }
682
683
49
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
294
    }
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
612
4
                                     [[maybe_unused]] Int16 result_scale) {
613
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
4
        const size_t input_rows_count = col_scale->size();
615
616
8
        for (size_t i = 0; i < input_rows_count; ++i) {
617
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
4
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
4
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
4
            const ColumnVector<T>& data_col_general =
662
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
4
            const auto& general_val = data_col_general.get_data()[0];
664
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
8
            for (size_t i = 0; i < input_rows_count; ++i) {
668
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
4
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
3
                } else if (scale_arg > 0) {
673
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
2
                                                                     vec_res[i]);
676
2
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
4
            }
682
683
4
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
5
                                     [[maybe_unused]] Int16 result_scale) {
613
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
5
        const size_t input_rows_count = col_scale->size();
615
616
10
        for (size_t i = 0; i < input_rows_count; ++i) {
617
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
5
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
5
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
5
            const ColumnVector<T>& data_col_general =
662
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
5
            const auto& general_val = data_col_general.get_data()[0];
664
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
10
            for (size_t i = 0; i < input_rows_count; ++i) {
668
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
5
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
4
                } else if (scale_arg > 0) {
673
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
3
                                                                     vec_res[i]);
676
3
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
5
            }
682
683
5
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
15
                                     [[maybe_unused]] Int16 result_scale) {
613
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
15
        const size_t input_rows_count = col_scale->size();
615
616
294
        for (size_t i = 0; i < input_rows_count; ++i) {
617
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
279
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
279
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
15
        } else if constexpr (is_decimal(T)) {
644
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
15
                            const_col_general->get_data_column());
647
15
            const auto& general_val = data_col_general.get_data()[0];
648
15
            Int32 input_scale = data_col_general.get_scale();
649
15
            auto col_res =
650
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
294
            for (size_t i = 0; i < input_rows_count; ++i) {
653
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
279
                        general_val, input_scale, col_res->get_element(i).value,
655
279
                        col_scale_i32.get_data()[i], result_scale);
656
279
            }
657
658
15
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
14
                                     [[maybe_unused]] Int16 result_scale) {
613
14
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
14
        const size_t input_rows_count = col_scale->size();
615
616
171
        for (size_t i = 0; i < input_rows_count; ++i) {
617
157
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
157
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
157
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
157
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
14
        } else if constexpr (is_decimal(T)) {
644
14
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
14
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
14
                            const_col_general->get_data_column());
647
14
            const auto& general_val = data_col_general.get_data()[0];
648
14
            Int32 input_scale = data_col_general.get_scale();
649
14
            auto col_res =
650
14
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
171
            for (size_t i = 0; i < input_rows_count; ++i) {
653
157
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
157
                        general_val, input_scale, col_res->get_element(i).value,
655
157
                        col_scale_i32.get_data()[i], result_scale);
656
157
            }
657
658
14
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
14
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
4
                                     [[maybe_unused]] Int16 result_scale) {
613
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
4
        const size_t input_rows_count = col_scale->size();
615
616
8
        for (size_t i = 0; i < input_rows_count; ++i) {
617
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
4
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
4
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
4
            const ColumnVector<T>& data_col_general =
662
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
4
            const auto& general_val = data_col_general.get_data()[0];
664
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
8
            for (size_t i = 0; i < input_rows_count; ++i) {
668
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
4
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
3
                } else if (scale_arg > 0) {
673
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
2
                                                                     vec_res[i]);
676
2
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
4
            }
682
683
4
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
5
                                     [[maybe_unused]] Int16 result_scale) {
613
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
5
        const size_t input_rows_count = col_scale->size();
615
616
10
        for (size_t i = 0; i < input_rows_count; ++i) {
617
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
5
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
5
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
5
            const ColumnVector<T>& data_col_general =
662
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
5
            const auto& general_val = data_col_general.get_data()[0];
664
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
10
            for (size_t i = 0; i < input_rows_count; ++i) {
668
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
5
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
4
                } else if (scale_arg > 0) {
673
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
3
                                                                     vec_res[i]);
676
3
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
5
            }
682
683
5
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
75
                                     [[maybe_unused]] Int16 result_scale) {
613
75
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
75
        const size_t input_rows_count = col_scale->size();
615
616
414
        for (size_t i = 0; i < input_rows_count; ++i) {
617
339
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
339
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
339
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
339
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
75
        } else if constexpr (is_decimal(T)) {
644
75
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
75
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
75
                            const_col_general->get_data_column());
647
75
            const auto& general_val = data_col_general.get_data()[0];
648
75
            Int32 input_scale = data_col_general.get_scale();
649
75
            auto col_res =
650
75
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
414
            for (size_t i = 0; i < input_rows_count; ++i) {
653
339
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
339
                        general_val, input_scale, col_res->get_element(i).value,
655
339
                        col_scale_i32.get_data()[i], result_scale);
656
339
            }
657
658
75
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
75
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
11
                                     [[maybe_unused]] Int16 result_scale) {
613
11
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
11
        const size_t input_rows_count = col_scale->size();
615
616
165
        for (size_t i = 0; i < input_rows_count; ++i) {
617
154
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
154
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
154
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
154
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
11
        } else if constexpr (is_decimal(T)) {
644
11
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
11
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
11
                            const_col_general->get_data_column());
647
11
            const auto& general_val = data_col_general.get_data()[0];
648
11
            Int32 input_scale = data_col_general.get_scale();
649
11
            auto col_res =
650
11
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
165
            for (size_t i = 0; i < input_rows_count; ++i) {
653
154
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
154
                        general_val, input_scale, col_res->get_element(i).value,
655
154
                        col_scale_i32.get_data()[i], result_scale);
656
154
            }
657
658
11
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
11
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
1
                                     [[maybe_unused]] Int16 result_scale) {
613
1
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
1
        const size_t input_rows_count = col_scale->size();
615
616
2
        for (size_t i = 0; i < input_rows_count; ++i) {
617
1
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
1
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
1
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
1
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
1
        } else if constexpr (is_decimal(T)) {
644
1
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
1
                            const_col_general->get_data_column());
647
1
            const auto& general_val = data_col_general.get_data()[0];
648
1
            Int32 input_scale = data_col_general.get_scale();
649
1
            auto col_res =
650
1
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
2
            for (size_t i = 0; i < input_rows_count; ++i) {
653
1
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
1
                        general_val, input_scale, col_res->get_element(i).value,
655
1
                        col_scale_i32.get_data()[i], result_scale);
656
1
            }
657
658
1
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
5
                                     [[maybe_unused]] Int16 result_scale) {
613
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
5
        const size_t input_rows_count = col_scale->size();
615
616
10
        for (size_t i = 0; i < input_rows_count; ++i) {
617
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
5
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
5
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
5
            const ColumnVector<T>& data_col_general =
662
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
5
            const auto& general_val = data_col_general.get_data()[0];
664
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
10
            for (size_t i = 0; i < input_rows_count; ++i) {
668
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
5
                if (scale_arg == 0) {
670
2
                    size_t scale = 1;
671
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
3
                } else if (scale_arg > 0) {
673
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
2
                                                                     vec_res[i]);
676
2
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
5
            }
682
683
5
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
6
                                     [[maybe_unused]] Int16 result_scale) {
613
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
6
        const size_t input_rows_count = col_scale->size();
615
616
12
        for (size_t i = 0; i < input_rows_count; ++i) {
617
6
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
6
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
6
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
6
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
6
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
6
            const ColumnVector<T>& data_col_general =
662
6
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
6
            const auto& general_val = data_col_general.get_data()[0];
664
6
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
6
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
12
            for (size_t i = 0; i < input_rows_count; ++i) {
668
6
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
6
                if (scale_arg == 0) {
670
2
                    size_t scale = 1;
671
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
4
                } else if (scale_arg > 0) {
673
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
3
                                                                     vec_res[i]);
676
3
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
6
            }
682
683
6
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
6
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
16
                                     [[maybe_unused]] Int16 result_scale) {
613
16
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
16
        const size_t input_rows_count = col_scale->size();
615
616
296
        for (size_t i = 0; i < input_rows_count; ++i) {
617
280
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
280
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
280
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
280
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
16
        } else if constexpr (is_decimal(T)) {
644
16
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
16
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
16
                            const_col_general->get_data_column());
647
16
            const auto& general_val = data_col_general.get_data()[0];
648
16
            Int32 input_scale = data_col_general.get_scale();
649
16
            auto col_res =
650
16
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
296
            for (size_t i = 0; i < input_rows_count; ++i) {
653
280
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
280
                        general_val, input_scale, col_res->get_element(i).value,
655
280
                        col_scale_i32.get_data()[i], result_scale);
656
280
            }
657
658
16
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
16
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
6
                                     [[maybe_unused]] Int16 result_scale) {
613
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
6
        const size_t input_rows_count = col_scale->size();
615
616
155
        for (size_t i = 0; i < input_rows_count; ++i) {
617
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
149
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
149
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
6
        } else if constexpr (is_decimal(T)) {
644
6
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
6
                            const_col_general->get_data_column());
647
6
            const auto& general_val = data_col_general.get_data()[0];
648
6
            Int32 input_scale = data_col_general.get_scale();
649
6
            auto col_res =
650
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
155
            for (size_t i = 0; i < input_rows_count; ++i) {
653
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
149
                        general_val, input_scale, col_res->get_element(i).value,
655
149
                        col_scale_i32.get_data()[i], result_scale);
656
149
            }
657
658
6
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
6
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
4
                                     [[maybe_unused]] Int16 result_scale) {
613
4
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
4
        const size_t input_rows_count = col_scale->size();
615
616
8
        for (size_t i = 0; i < input_rows_count; ++i) {
617
4
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
4
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
4
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
4
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
4
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
4
            const ColumnVector<T>& data_col_general =
662
4
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
4
            const auto& general_val = data_col_general.get_data()[0];
664
4
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
4
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
8
            for (size_t i = 0; i < input_rows_count; ++i) {
668
4
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
4
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
3
                } else if (scale_arg > 0) {
673
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
2
                                                                     vec_res[i]);
676
2
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
4
            }
682
683
4
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
4
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
5
                                     [[maybe_unused]] Int16 result_scale) {
613
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
5
        const size_t input_rows_count = col_scale->size();
615
616
10
        for (size_t i = 0; i < input_rows_count; ++i) {
617
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
5
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
5
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
5
            const ColumnVector<T>& data_col_general =
662
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
5
            const auto& general_val = data_col_general.get_data()[0];
664
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
10
            for (size_t i = 0; i < input_rows_count; ++i) {
668
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
5
                if (scale_arg == 0) {
670
1
                    size_t scale = 1;
671
1
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
4
                } else if (scale_arg > 0) {
673
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
3
                                                                     vec_res[i]);
676
3
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
5
            }
682
683
5
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
75
                                     [[maybe_unused]] Int16 result_scale) {
613
75
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
75
        const size_t input_rows_count = col_scale->size();
615
616
356
        for (size_t i = 0; i < input_rows_count; ++i) {
617
281
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
281
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
281
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
281
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
75
        } else if constexpr (is_decimal(T)) {
644
75
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
75
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
75
                            const_col_general->get_data_column());
647
75
            const auto& general_val = data_col_general.get_data()[0];
648
75
            Int32 input_scale = data_col_general.get_scale();
649
75
            auto col_res =
650
75
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
356
            for (size_t i = 0; i < input_rows_count; ++i) {
653
281
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
281
                        general_val, input_scale, col_res->get_element(i).value,
655
281
                        col_scale_i32.get_data()[i], result_scale);
656
281
            }
657
658
75
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
75
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
10
                                     [[maybe_unused]] Int16 result_scale) {
613
10
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
10
        const size_t input_rows_count = col_scale->size();
615
616
159
        for (size_t i = 0; i < input_rows_count; ++i) {
617
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
149
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
149
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
10
        } else if constexpr (is_decimal(T)) {
644
10
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
10
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
10
                            const_col_general->get_data_column());
647
10
            const auto& general_val = data_col_general.get_data()[0];
648
10
            Int32 input_scale = data_col_general.get_scale();
649
10
            auto col_res =
650
10
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
159
            for (size_t i = 0; i < input_rows_count; ++i) {
653
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
149
                        general_val, input_scale, col_res->get_element(i).value,
655
149
                        col_scale_i32.get_data()[i], result_scale);
656
149
            }
657
658
10
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
10
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
1
                                     [[maybe_unused]] Int16 result_scale) {
613
1
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
1
        const size_t input_rows_count = col_scale->size();
615
616
2
        for (size_t i = 0; i < input_rows_count; ++i) {
617
1
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
1
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
1
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
1
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
1
        } else if constexpr (is_decimal(T)) {
644
1
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
1
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
1
                            const_col_general->get_data_column());
647
1
            const auto& general_val = data_col_general.get_data()[0];
648
1
            Int32 input_scale = data_col_general.get_scale();
649
1
            auto col_res =
650
1
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
2
            for (size_t i = 0; i < input_rows_count; ++i) {
653
1
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
1
                        general_val, input_scale, col_res->get_element(i).value,
655
1
                        col_scale_i32.get_data()[i], result_scale);
656
1
            }
657
658
1
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
1
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
_ZN5doris10DispatcherILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
5
                                     [[maybe_unused]] Int16 result_scale) {
613
5
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
5
        const size_t input_rows_count = col_scale->size();
615
616
10
        for (size_t i = 0; i < input_rows_count; ++i) {
617
5
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
5
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
5
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
5
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
5
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
5
            const ColumnVector<T>& data_col_general =
662
5
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
5
            const auto& general_val = data_col_general.get_data()[0];
664
5
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
5
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
10
            for (size_t i = 0; i < input_rows_count; ++i) {
668
5
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
5
                if (scale_arg == 0) {
670
2
                    size_t scale = 1;
671
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
3
                } else if (scale_arg > 0) {
673
2
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
2
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
2
                                                                     vec_res[i]);
676
2
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
5
            }
682
683
5
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
5
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
6
                                     [[maybe_unused]] Int16 result_scale) {
613
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
6
        const size_t input_rows_count = col_scale->size();
615
616
12
        for (size_t i = 0; i < input_rows_count; ++i) {
617
6
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
6
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
6
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
6
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
        } else if constexpr (is_decimal(T)) {
644
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
                            const_col_general->get_data_column());
647
            const auto& general_val = data_col_general.get_data()[0];
648
            Int32 input_scale = data_col_general.get_scale();
649
            auto col_res =
650
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
            for (size_t i = 0; i < input_rows_count; ++i) {
653
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
                        general_val, input_scale, col_res->get_element(i).value,
655
                        col_scale_i32.get_data()[i], result_scale);
656
            }
657
658
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
6
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
6
            const ColumnVector<T>& data_col_general =
662
6
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
6
            const auto& general_val = data_col_general.get_data()[0];
664
6
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
6
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
12
            for (size_t i = 0; i < input_rows_count; ++i) {
668
6
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
6
                if (scale_arg == 0) {
670
2
                    size_t scale = 1;
671
2
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
4
                } else if (scale_arg > 0) {
673
3
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
3
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
3
                                                                     vec_res[i]);
676
3
                } else {
677
1
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
1
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
1
                                                                     vec_res[i]);
680
1
                }
681
6
            }
682
683
6
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
6
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
15
                                     [[maybe_unused]] Int16 result_scale) {
613
15
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
15
        const size_t input_rows_count = col_scale->size();
615
616
294
        for (size_t i = 0; i < input_rows_count; ++i) {
617
279
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
279
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
279
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
279
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
15
        } else if constexpr (is_decimal(T)) {
644
15
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
15
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
15
                            const_col_general->get_data_column());
647
15
            const auto& general_val = data_col_general.get_data()[0];
648
15
            Int32 input_scale = data_col_general.get_scale();
649
15
            auto col_res =
650
15
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
294
            for (size_t i = 0; i < input_rows_count; ++i) {
653
279
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
279
                        general_val, input_scale, col_res->get_element(i).value,
655
279
                        col_scale_i32.get_data()[i], result_scale);
656
279
            }
657
658
15
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
15
    }
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Line
Count
Source
612
6
                                     [[maybe_unused]] Int16 result_scale) {
613
6
        const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale);
614
6
        const size_t input_rows_count = col_scale->size();
615
616
155
        for (size_t i = 0; i < input_rows_count; ++i) {
617
149
            const Int32 scale_arg = col_scale_i32.get_data()[i];
618
619
149
            if (scale_arg > std::numeric_limits<Int16>::max() ||
620
149
                scale_arg < std::numeric_limits<Int16>::min()) {
621
0
                throw doris::Exception(ErrorCode::OUT_OF_BOUND,
622
0
                                       "Scale argument for function is out of bound: {}",
623
0
                                       scale_arg);
624
0
            }
625
149
        }
626
627
        if constexpr (T == TYPE_DECIMALV2) {
628
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
629
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
630
                            const_col_general->get_data_column());
631
            const auto& general_val = data_col_general.get_data()[0];
632
            Int32 input_scale = data_col_general.get_scale();
633
            auto col_res =
634
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
635
636
            for (size_t i = 0; i < input_rows_count; ++i) {
637
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
638
                        general_val, input_scale, col_res->get_element(i).value(),
639
                        col_scale_i32.get_data()[i], result_scale);
640
            }
641
642
            return col_res;
643
6
        } else if constexpr (is_decimal(T)) {
644
6
            const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general =
645
6
                    assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>(
646
6
                            const_col_general->get_data_column());
647
6
            const auto& general_val = data_col_general.get_data()[0];
648
6
            Int32 input_scale = data_col_general.get_scale();
649
6
            auto col_res =
650
6
                    PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale);
651
652
155
            for (size_t i = 0; i < input_rows_count; ++i) {
653
149
                DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply(
654
149
                        general_val, input_scale, col_res->get_element(i).value,
655
149
                        col_scale_i32.get_data()[i], result_scale);
656
149
            }
657
658
6
            return col_res;
659
        } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) ||
660
                             is_float_or_double(T) || T == TYPE_TIMEV2) {
661
            const ColumnVector<T>& data_col_general =
662
                    assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column());
663
            const auto& general_val = data_col_general.get_data()[0];
664
            auto col_res = ColumnVector<T>::create(input_rows_count);
665
            typename ColumnVector<T>::Container& vec_res = col_res->get_data();
666
667
            for (size_t i = 0; i < input_rows_count; ++i) {
668
                const Int16 scale_arg = col_scale_i32.get_data()[i];
669
                if (scale_arg == 0) {
670
                    size_t scale = 1;
671
                    FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]);
672
                } else if (scale_arg > 0) {
673
                    size_t scale = int_exp10(col_scale_i32.get_data()[i]);
674
                    FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale,
675
                                                                     vec_res[i]);
676
                } else {
677
                    size_t scale = int_exp10(-col_scale_i32.get_data()[i]);
678
                    FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale,
679
                                                                     vec_res[i]);
680
                }
681
            }
682
683
            return col_res;
684
        } else {
685
            static_assert(false);
686
        }
687
6
    }
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs
688
};
689
690
template <typename Impl, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode>
691
class FunctionRounding : public IFunction {
692
public:
693
    static constexpr auto name = Impl::name;
694
1.77k
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
34
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
58
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
21
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
14
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
16
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
211
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
17
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
28
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
21
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
23
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
22
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
40
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
19
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
16
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
13
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
32
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
245
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
18
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
12
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
32
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
148
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
30
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
148
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
34
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
59
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
31
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
22
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
24
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
27
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
87
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
25
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
10
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
11
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv
Line
Count
Source
694
10
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv
Line
Count
Source
694
9
    static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }
695
696
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
697
698
1.06k
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
3
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
26
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
50
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
199
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
6
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
20
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
32
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
11
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
8
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
5
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
24
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
237
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
10
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
4
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
22
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
20
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
17
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
49
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
13
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
12
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
16
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
77
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
14
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
15
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
3
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv
Line
Count
Source
698
1
    bool is_variadic() const override { return true; }
699
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
700
701
400
    DataTypes get_variadic_argument_types_impl() const override {
702
400
        return Impl::get_variadic_argument_types();
703
400
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv
Line
Count
Source
701
8
    DataTypes get_variadic_argument_types_impl() const override {
702
8
        return Impl::get_variadic_argument_types();
703
8
    }
704
705
1.37k
    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
705
27
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
705
10
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
705
10
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv
Line
Count
Source
705
5
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
705
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
705
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
705
266
    bool need_replace_null_data_to_default() const override { return true; }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv
Line
Count
Source
705
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
705
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
705
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
705
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
705
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
705
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
705
210
    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
705
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
705
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
705
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
705
34
    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
705
138
    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
705
22
    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
705
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
705
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
705
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
705
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
705
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
705
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
705
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
705
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
705
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
705
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
705
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
705
18
    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
705
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
705
153
    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
705
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
705
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
705
4
    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
706
707
    /// Get result types by argument types. If the function does not apply to these arguments, throw an exception.
708
1.01k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
1.01k
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
1.01k
        return arguments[0];
717
1.01k
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
2
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
2
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
2
        return arguments[0];
717
2
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
25
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
25
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
25
        return arguments[0];
717
25
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
49
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
49
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
49
        return arguments[0];
717
49
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
12
        return arguments[0];
717
12
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
5
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
5
        return arguments[0];
717
5
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
12
        return arguments[0];
717
12
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
3
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
3
        return arguments[0];
717
3
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
198
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
198
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
198
        return arguments[0];
717
198
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
5
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
5
        return arguments[0];
717
5
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
708
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
4
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
4
        return arguments[0];
717
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
708
19
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
19
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
19
        return arguments[0];
717
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
12
        return arguments[0];
717
12
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
14
        return arguments[0];
717
14
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
13
        return arguments[0];
717
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
708
31
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
31
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
31
        return arguments[0];
717
31
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
10
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
10
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
10
        return arguments[0];
717
10
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
7
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
7
        return arguments[0];
717
7
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
4
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
4
        return arguments[0];
717
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
708
23
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
23
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
23
        return arguments[0];
717
23
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
236
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
236
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
236
        return arguments[0];
717
236
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
9
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
9
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
9
        return arguments[0];
717
9
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
3
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
3
        return arguments[0];
717
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
708
21
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
21
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
21
        return arguments[0];
717
21
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
16
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
16
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
16
        return arguments[0];
717
16
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
19
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
19
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
19
        return arguments[0];
717
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
16
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
16
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
16
        return arguments[0];
717
16
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
13
        return arguments[0];
717
13
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
14
        return arguments[0];
717
14
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
15
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
15
        return arguments[0];
717
15
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
48
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
48
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
48
        return arguments[0];
717
48
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
12
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
12
        return arguments[0];
717
12
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
11
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
11
        return arguments[0];
717
11
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
15
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
15
        return arguments[0];
717
15
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
15
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
15
        return arguments[0];
717
15
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
76
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
76
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
76
        return arguments[0];
717
76
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
13
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
13
        return arguments[0];
717
13
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE
Line
Count
Source
708
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
14
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
14
        return arguments[0];
717
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
708
2
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
709
2
        if ((arguments.empty()) || (arguments.size() > 2)) {
710
0
            throw doris::Exception(
711
0
                    ErrorCode::INVALID_ARGUMENT,
712
0
                    "Number of arguments for function {}, doesn't match: should be 1 or 2. ",
713
0
                    get_name());
714
0
        }
715
716
2
        return arguments[0];
717
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
718
719
839
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
839
        const IColumn& scale_column = *arguments.column;
721
722
839
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
839
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
839
                                  .get_element(0);
725
726
839
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
840
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
839
        *scale = scale_arg;
733
839
        return Status::OK();
734
839
    }
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
719
36
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
36
        const IColumn& scale_column = *arguments.column;
721
722
36
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
36
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
36
                                  .get_element(0);
725
726
36
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
36
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
36
        *scale = scale_arg;
733
36
        return Status::OK();
734
36
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
270
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
270
        const IColumn& scale_column = *arguments.column;
721
722
270
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
270
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
270
                                  .get_element(0);
725
726
270
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
271
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
270
        *scale = scale_arg;
733
270
        return Status::OK();
734
270
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
8
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
8
        const IColumn& scale_column = *arguments.column;
721
722
8
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
8
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
8
                                  .get_element(0);
725
726
8
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
8
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
8
        *scale = scale_arg;
733
8
        return Status::OK();
734
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
719
30
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
30
        const IColumn& scale_column = *arguments.column;
721
722
30
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
30
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
30
                                  .get_element(0);
725
726
30
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
30
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
30
        *scale = scale_arg;
733
30
        return Status::OK();
734
30
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
20
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
20
        const IColumn& scale_column = *arguments.column;
721
722
20
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
20
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
20
                                  .get_element(0);
725
726
20
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
20
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
20
        *scale = scale_arg;
733
20
        return Status::OK();
734
20
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
21
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
21
        const IColumn& scale_column = *arguments.column;
721
722
21
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
21
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
21
                                  .get_element(0);
725
726
21
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
21
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
21
        *scale = scale_arg;
733
21
        return Status::OK();
734
21
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
20
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
20
        const IColumn& scale_column = *arguments.column;
721
722
20
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
20
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
20
                                  .get_element(0);
725
726
20
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
20
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
20
        *scale = scale_arg;
733
20
        return Status::OK();
734
20
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
12
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
12
        const IColumn& scale_column = *arguments.column;
721
722
12
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
12
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
12
                                  .get_element(0);
725
726
12
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
12
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
12
        *scale = scale_arg;
733
12
        return Status::OK();
734
12
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
26
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
26
        const IColumn& scale_column = *arguments.column;
721
722
26
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
26
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
26
                                  .get_element(0);
725
726
26
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
26
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
26
        *scale = scale_arg;
733
26
        return Status::OK();
734
26
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
21
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
21
        const IColumn& scale_column = *arguments.column;
721
722
21
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
21
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
21
                                  .get_element(0);
725
726
21
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
21
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
21
        *scale = scale_arg;
733
21
        return Status::OK();
734
21
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
92
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
92
        const IColumn& scale_column = *arguments.column;
721
722
92
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
92
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
92
                                  .get_element(0);
725
726
92
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
92
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
92
        *scale = scale_arg;
733
92
        return Status::OK();
734
92
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
20
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
20
        const IColumn& scale_column = *arguments.column;
721
722
20
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
20
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
20
                                  .get_element(0);
725
726
20
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
20
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
20
        *scale = scale_arg;
733
20
        return Status::OK();
734
20
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
12
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
12
        const IColumn& scale_column = *arguments.column;
721
722
12
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
12
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
12
                                  .get_element(0);
725
726
12
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
12
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
12
        *scale = scale_arg;
733
12
        return Status::OK();
734
12
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
19
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
19
        const IColumn& scale_column = *arguments.column;
721
722
19
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
19
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
19
                                  .get_element(0);
725
726
19
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
19
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
19
        *scale = scale_arg;
733
19
        return Status::OK();
734
19
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
24
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
24
        const IColumn& scale_column = *arguments.column;
721
722
24
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
24
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
24
                                  .get_element(0);
725
726
24
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
24
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
24
        *scale = scale_arg;
733
24
        return Status::OK();
734
24
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
160
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
160
        const IColumn& scale_column = *arguments.column;
721
722
160
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
160
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
160
                                  .get_element(0);
725
726
160
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
160
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
160
        *scale = scale_arg;
733
160
        return Status::OK();
734
160
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
23
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
23
        const IColumn& scale_column = *arguments.column;
721
722
23
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
23
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
23
                                  .get_element(0);
725
726
23
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
23
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
23
        *scale = scale_arg;
733
23
        return Status::OK();
734
23
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
19
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
19
        const IColumn& scale_column = *arguments.column;
721
722
19
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
19
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
19
                                  .get_element(0);
725
726
19
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
19
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
19
        *scale = scale_arg;
733
19
        return Status::OK();
734
19
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
1
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
1
        const IColumn& scale_column = *arguments.column;
721
722
1
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
1
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
1
                                  .get_element(0);
725
726
1
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
1
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
1
        *scale = scale_arg;
733
1
        return Status::OK();
734
1
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
4
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
4
        const IColumn& scale_column = *arguments.column;
721
722
4
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
4
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
4
                                  .get_element(0);
725
726
4
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
4
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
4
        *scale = scale_arg;
733
4
        return Status::OK();
734
4
    }
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
Line
Count
Source
719
1
    static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) {
720
1
        const IColumn& scale_column = *arguments.column;
721
722
1
        Int32 scale_arg = assert_cast<const ColumnInt32&>(
723
1
                                  assert_cast<const ColumnConst*>(&scale_column)->get_data_column())
724
1
                                  .get_element(0);
725
726
1
        if (scale_arg > std::numeric_limits<Int16>::max() ||
727
1
            scale_arg < std::numeric_limits<Int16>::min()) {
728
0
            return Status::InvalidArgument("Scale argument for function {} is out of bound: {}",
729
0
                                           name, scale_arg);
730
0
        }
731
732
1
        *scale = scale_arg;
733
1
        return Status::OK();
734
1
    }
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs
735
736
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
737
2.47k
                        uint32_t result, size_t input_rows_count) const override {
738
2.47k
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
2.47k
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
2.47k
        const DataTypePtr result_type = block.get_by_position(result).type;
741
2.47k
        const bool is_col_general_const = is_column_const(*column_general.column);
742
2.47k
        const auto* col_general = is_col_general_const
743
2.47k
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
294
                                                    .get_data_column_ptr()
745
294
                                                    .get()
746
2.47k
                                          : column_general.column.get();
747
2.47k
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
2.47k
        auto call = [&](const auto& types) -> bool {
756
2.47k
            using Types = std::decay_t<decltype(types)>;
757
2.47k
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
2.47k
            Int16 result_scale = 0;
762
2.47k
            if constexpr (IsDataTypeDecimal<DataType>) {
763
1.88k
                if (column_result.type->is_nullable()) {
764
987
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
988
                                column_result.type)) {
766
988
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
18.4E
                    } else {
768
18.4E
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
18.4E
                                               "Illegal nullable column");
770
18.4E
                    }
771
987
                } else {
772
900
                    result_scale = column_result.type->get_scale();
773
900
                }
774
1.88k
            }
775
776
2.47k
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
2.47k
                if (arguments.size() == 1 ||
778
2.47k
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
1.76k
                    Int16 scale_arg = 0;
781
1.76k
                    if (arguments.size() == 2) {
782
841
                        RETURN_IF_ERROR(
783
841
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
841
                    }
785
786
1.76k
                    res = Dispatcher<DataType::PType, rounding_mode,
787
1.76k
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
1.76k
                                                                         result_scale);
789
1.76k
                } else {
790
                    // the SECOND arugment is COLUMN
791
712
                    if (is_col_general_const) {
792
294
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
294
                                apply_const_vec(
794
294
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
294
                                        block.get_by_position(arguments[1]).column.get(),
796
294
                                        result_scale);
797
418
                    } else {
798
418
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
418
                                apply_vec_vec(col_general,
800
418
                                              block.get_by_position(arguments[1]).column.get(),
801
418
                                              result_scale);
802
418
                    }
803
712
                }
804
2.47k
                return true;
805
2.47k
            }
806
807
0
            return false;
808
2.47k
        };
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
755
2
        auto call = [&](const auto& types) -> bool {
756
2
            using Types = std::decay_t<decltype(types)>;
757
2
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
2
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
2
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
2
                if (arguments.size() == 1 ||
778
2
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
2
                    Int16 scale_arg = 0;
781
2
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
2
                    res = Dispatcher<DataType::PType, rounding_mode,
787
2
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
2
                                                                         result_scale);
789
2
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
2
                return true;
805
2
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSI_
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
755
41
        auto call = [&](const auto& types) -> bool {
756
41
            using Types = std::decay_t<decltype(types)>;
757
41
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
41
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
41
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
41
                if (arguments.size() == 1 ||
778
41
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
41
                    Int16 scale_arg = 0;
781
41
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
41
                    res = Dispatcher<DataType::PType, rounding_mode,
787
41
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
41
                                                                         result_scale);
789
41
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
41
                return true;
805
41
            }
806
807
0
            return false;
808
41
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
62
        auto call = [&](const auto& types) -> bool {
756
62
            using Types = std::decay_t<decltype(types)>;
757
62
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
62
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
62
                if (arguments.size() == 1 ||
778
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
62
                    Int16 scale_arg = 0;
781
62
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
62
                    res = Dispatcher<DataType::PType, rounding_mode,
787
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
62
                                                                         result_scale);
789
62
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
62
                return true;
805
62
            }
806
807
0
            return false;
808
62
        };
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_12DataTypeUUIDEvEEEEbSI_
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
755
24
        auto call = [&](const auto& types) -> bool {
756
24
            using Types = std::decay_t<decltype(types)>;
757
24
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
24
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
24
                if (arguments.size() == 1 ||
778
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
24
                    Int16 scale_arg = 0;
781
24
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
24
                    res = Dispatcher<DataType::PType, rounding_mode,
787
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
24
                                                                         result_scale);
789
24
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
24
                return true;
805
24
            }
806
807
0
            return false;
808
24
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
11
        auto call = [&](const auto& types) -> bool {
756
11
            using Types = std::decay_t<decltype(types)>;
757
11
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
11
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
11
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
11
                if (arguments.size() == 1 ||
778
11
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
11
                    Int16 scale_arg = 0;
781
11
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
11
                    res = Dispatcher<DataType::PType, rounding_mode,
787
11
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
11
                                                                         result_scale);
789
11
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
11
                return true;
805
11
            }
806
807
0
            return false;
808
11
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
8
        auto call = [&](const auto& types) -> bool {
756
8
            using Types = std::decay_t<decltype(types)>;
757
8
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
8
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
8
                if (arguments.size() == 1 ||
778
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
8
                } else {
790
                    // the SECOND arugment is COLUMN
791
8
                    if (is_col_general_const) {
792
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
4
                                apply_const_vec(
794
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
4
                                        block.get_by_position(arguments[1]).column.get(),
796
4
                                        result_scale);
797
4
                    } else {
798
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
4
                                apply_vec_vec(col_general,
800
4
                                              block.get_by_position(arguments[1]).column.get(),
801
4
                                              result_scale);
802
4
                    }
803
8
                }
804
8
                return true;
805
8
            }
806
807
0
            return false;
808
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
755
54
        auto call = [&](const auto& types) -> bool {
756
54
            using Types = std::decay_t<decltype(types)>;
757
54
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
54
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
54
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
54
                if (arguments.size() == 1 ||
778
54
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
36
                    Int16 scale_arg = 0;
781
36
                    if (arguments.size() == 2) {
782
36
                        RETURN_IF_ERROR(
783
36
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
36
                    }
785
786
36
                    res = Dispatcher<DataType::PType, rounding_mode,
787
36
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
36
                                                                         result_scale);
789
36
                } else {
790
                    // the SECOND arugment is COLUMN
791
18
                    if (is_col_general_const) {
792
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
5
                                apply_const_vec(
794
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
5
                                        block.get_by_position(arguments[1]).column.get(),
796
5
                                        result_scale);
797
13
                    } else {
798
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
13
                                apply_vec_vec(col_general,
800
13
                                              block.get_by_position(arguments[1]).column.get(),
801
13
                                              result_scale);
802
13
                    }
803
18
                }
804
54
                return true;
805
54
            }
806
807
0
            return false;
808
54
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
8
        auto call = [&](const auto& types) -> bool {
756
8
            using Types = std::decay_t<decltype(types)>;
757
8
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
8
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
8
                if (arguments.size() == 1 ||
778
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
8
                } else {
790
                    // the SECOND arugment is COLUMN
791
8
                    if (is_col_general_const) {
792
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
4
                                apply_const_vec(
794
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
4
                                        block.get_by_position(arguments[1]).column.get(),
796
4
                                        result_scale);
797
4
                    } else {
798
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
4
                                apply_vec_vec(col_general,
800
4
                                              block.get_by_position(arguments[1]).column.get(),
801
4
                                              result_scale);
802
4
                    }
803
8
                }
804
8
                return true;
805
8
            }
806
807
0
            return false;
808
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
755
17
        auto call = [&](const auto& types) -> bool {
756
17
            using Types = std::decay_t<decltype(types)>;
757
17
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
17
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
17
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
17
                if (arguments.size() == 1 ||
778
17
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
17
                } else {
790
                    // the SECOND arugment is COLUMN
791
17
                    if (is_col_general_const) {
792
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
5
                                apply_const_vec(
794
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
5
                                        block.get_by_position(arguments[1]).column.get(),
796
5
                                        result_scale);
797
12
                    } else {
798
12
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
12
                                apply_vec_vec(col_general,
800
12
                                              block.get_by_position(arguments[1]).column.get(),
801
12
                                              result_scale);
802
12
                    }
803
17
                }
804
17
                return true;
805
17
            }
806
807
0
            return false;
808
17
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
10
        auto call = [&](const auto& types) -> bool {
756
10
            using Types = std::decay_t<decltype(types)>;
757
10
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
10
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
10
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
10
                if (arguments.size() == 1 ||
778
10
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
10
                } else {
790
                    // the SECOND arugment is COLUMN
791
10
                    if (is_col_general_const) {
792
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
5
                                apply_const_vec(
794
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
5
                                        block.get_by_position(arguments[1]).column.get(),
796
5
                                        result_scale);
797
5
                    } else {
798
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
5
                                apply_vec_vec(col_general,
800
5
                                              block.get_by_position(arguments[1]).column.get(),
801
5
                                              result_scale);
802
5
                    }
803
10
                }
804
10
                return true;
805
10
            }
806
807
0
            return false;
808
10
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
755
287
        auto call = [&](const auto& types) -> bool {
756
287
            using Types = std::decay_t<decltype(types)>;
757
287
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
287
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
287
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
287
                if (arguments.size() == 1 ||
778
287
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
271
                    Int16 scale_arg = 0;
781
271
                    if (arguments.size() == 2) {
782
271
                        RETURN_IF_ERROR(
783
271
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
271
                    }
785
786
271
                    res = Dispatcher<DataType::PType, rounding_mode,
787
271
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
271
                                                                         result_scale);
789
271
                } else {
790
                    // the SECOND arugment is COLUMN
791
16
                    if (is_col_general_const) {
792
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
6
                                apply_const_vec(
794
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
6
                                        block.get_by_position(arguments[1]).column.get(),
796
6
                                        result_scale);
797
10
                    } else {
798
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
10
                                apply_vec_vec(col_general,
800
10
                                              block.get_by_position(arguments[1]).column.get(),
801
10
                                              result_scale);
802
10
                    }
803
16
                }
804
287
                return true;
805
287
            }
806
807
0
            return false;
808
287
        };
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_12DataTypeUUIDEvEEEEbSI_
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
755
8
        auto call = [&](const auto& types) -> bool {
756
8
            using Types = std::decay_t<decltype(types)>;
757
8
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
8
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
8
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
8
                if (arguments.size() == 1 ||
778
8
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
8
                } else {
790
                    // the SECOND arugment is COLUMN
791
8
                    if (is_col_general_const) {
792
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
4
                                apply_const_vec(
794
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
4
                                        block.get_by_position(arguments[1]).column.get(),
796
4
                                        result_scale);
797
4
                    } else {
798
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
4
                                apply_vec_vec(col_general,
800
4
                                              block.get_by_position(arguments[1]).column.get(),
801
4
                                              result_scale);
802
4
                    }
803
8
                }
804
8
                return true;
805
8
            }
806
807
0
            return false;
808
8
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
755
20
        auto call = [&](const auto& types) -> bool {
756
20
            using Types = std::decay_t<decltype(types)>;
757
20
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
20
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
20
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
20
                if (arguments.size() == 1 ||
778
20
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
20
                } else {
790
                    // the SECOND arugment is COLUMN
791
20
                    if (is_col_general_const) {
792
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
5
                                apply_const_vec(
794
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
5
                                        block.get_by_position(arguments[1]).column.get(),
796
5
                                        result_scale);
797
15
                    } else {
798
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
15
                                apply_vec_vec(col_general,
800
15
                                              block.get_by_position(arguments[1]).column.get(),
801
15
                                              result_scale);
802
15
                    }
803
20
                }
804
20
                return true;
805
20
            }
806
807
0
            return false;
808
20
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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
755
10
        auto call = [&](const auto& types) -> bool {
756
10
            using Types = std::decay_t<decltype(types)>;
757
10
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
10
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
10
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
10
                if (arguments.size() == 1 ||
778
10
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
0
                    Int16 scale_arg = 0;
781
0
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
0
                    res = Dispatcher<DataType::PType, rounding_mode,
787
0
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
0
                                                                         result_scale);
789
10
                } else {
790
                    // the SECOND arugment is COLUMN
791
10
                    if (is_col_general_const) {
792
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
5
                                apply_const_vec(
794
5
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
5
                                        block.get_by_position(arguments[1]).column.get(),
796
5
                                        result_scale);
797
5
                    } else {
798
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
5
                                apply_vec_vec(col_general,
800
5
                                              block.get_by_position(arguments[1]).column.get(),
801
5
                                              result_scale);
802
5
                    }
803
10
                }
804
10
                return true;
805
10
            }
806
807
0
            return false;
808
10
        };
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_
Line
Count
Source
755
24
        auto call = [&](const auto& types) -> bool {
756
24
            using Types = std::decay_t<decltype(types)>;
757
24
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
24
            Int16 result_scale = 0;
762
            if constexpr (IsDataTypeDecimal<DataType>) {
763
                if (column_result.type->is_nullable()) {
764
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
                                column_result.type)) {
766
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
                    } else {
768
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
                                               "Illegal nullable column");
770
                    }
771
                } else {
772
                    result_scale = column_result.type->get_scale();
773
                }
774
            }
775
776
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
24
                if (arguments.size() == 1 ||
778
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
8
                    Int16 scale_arg = 0;
781
8
                    if (arguments.size() == 2) {
782
8
                        RETURN_IF_ERROR(
783
8
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
8
                    }
785
786
8
                    res = Dispatcher<DataType::PType, rounding_mode,
787
8
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
8
                                                                         result_scale);
789
16
                } else {
790
                    // the SECOND arugment is COLUMN
791
16
                    if (is_col_general_const) {
792
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
6
                                apply_const_vec(
794
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
6
                                        block.get_by_position(arguments[1]).column.get(),
796
6
                                        result_scale);
797
10
                    } else {
798
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
10
                                apply_vec_vec(col_general,
800
10
                                              block.get_by_position(arguments[1]).column.get(),
801
10
                                              result_scale);
802
10
                    }
803
16
                }
804
24
                return true;
805
24
            }
806
807
0
            return false;
808
24
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSI_
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_12DataTypeUUIDEvEEEEbSJ_
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
755
29
        auto call = [&](const auto& types) -> bool {
756
29
            using Types = std::decay_t<decltype(types)>;
757
29
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
29
            Int16 result_scale = 0;
762
29
            if constexpr (IsDataTypeDecimal<DataType>) {
763
29
                if (column_result.type->is_nullable()) {
764
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
9
                                column_result.type)) {
766
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
9
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
20
                } else {
772
20
                    result_scale = column_result.type->get_scale();
773
20
                }
774
29
            }
775
776
29
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
29
                if (arguments.size() == 1 ||
778
29
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
29
                    Int16 scale_arg = 0;
781
29
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
29
                    res = Dispatcher<DataType::PType, rounding_mode,
787
29
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
29
                                                                         result_scale);
789
29
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
29
                return true;
805
29
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
23
        auto call = [&](const auto& types) -> bool {
756
23
            using Types = std::decay_t<decltype(types)>;
757
23
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
23
            Int16 result_scale = 0;
762
23
            if constexpr (IsDataTypeDecimal<DataType>) {
763
23
                if (column_result.type->is_nullable()) {
764
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
9
                                column_result.type)) {
766
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
9
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
14
                } else {
772
14
                    result_scale = column_result.type->get_scale();
773
14
                }
774
23
            }
775
776
23
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
23
                if (arguments.size() == 1 ||
778
23
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
23
                    Int16 scale_arg = 0;
781
23
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
23
                    res = Dispatcher<DataType::PType, rounding_mode,
787
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
23
                                                                         result_scale);
789
23
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
23
                return true;
805
23
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
25
        auto call = [&](const auto& types) -> bool {
756
25
            using Types = std::decay_t<decltype(types)>;
757
25
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
25
            Int16 result_scale = 0;
762
25
            if constexpr (IsDataTypeDecimal<DataType>) {
763
25
                if (column_result.type->is_nullable()) {
764
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
9
                                column_result.type)) {
766
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
9
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
16
                } else {
772
16
                    result_scale = column_result.type->get_scale();
773
16
                }
774
25
            }
775
776
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
25
                if (arguments.size() == 1 ||
778
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
25
                    Int16 scale_arg = 0;
781
25
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
25
                    res = Dispatcher<DataType::PType, rounding_mode,
787
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
25
                                                                         result_scale);
789
25
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
25
                return true;
805
25
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
19
        auto call = [&](const auto& types) -> bool {
756
19
            using Types = std::decay_t<decltype(types)>;
757
19
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
19
            Int16 result_scale = 0;
762
19
            if constexpr (IsDataTypeDecimal<DataType>) {
763
19
                if (column_result.type->is_nullable()) {
764
5
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
5
                                column_result.type)) {
766
5
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
5
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
14
                } else {
772
14
                    result_scale = column_result.type->get_scale();
773
14
                }
774
19
            }
775
776
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
19
                if (arguments.size() == 1 ||
778
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
19
                return true;
805
19
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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
755
218
        auto call = [&](const auto& types) -> bool {
756
218
            using Types = std::decay_t<decltype(types)>;
757
218
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
218
            Int16 result_scale = 0;
762
218
            if constexpr (IsDataTypeDecimal<DataType>) {
763
218
                if (column_result.type->is_nullable()) {
764
210
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
210
                                column_result.type)) {
766
210
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
210
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
210
                } else {
772
8
                    result_scale = column_result.type->get_scale();
773
8
                }
774
218
            }
775
776
218
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
218
                if (arguments.size() == 1 ||
778
218
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
218
                    Int16 scale_arg = 0;
781
218
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
218
                    res = Dispatcher<DataType::PType, rounding_mode,
787
218
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
218
                                                                         result_scale);
789
218
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
218
                return true;
805
218
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
27
        auto call = [&](const auto& types) -> bool {
756
27
            using Types = std::decay_t<decltype(types)>;
757
27
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
27
            Int16 result_scale = 0;
762
27
            if constexpr (IsDataTypeDecimal<DataType>) {
763
27
                if (column_result.type->is_nullable()) {
764
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
19
                                column_result.type)) {
766
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
19
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
19
                } else {
772
8
                    result_scale = column_result.type->get_scale();
773
8
                }
774
27
            }
775
776
27
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
27
                if (arguments.size() == 1 ||
778
27
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
27
                    Int16 scale_arg = 0;
781
27
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
27
                    res = Dispatcher<DataType::PType, rounding_mode,
787
27
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
27
                                                                         result_scale);
789
27
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
27
                return true;
805
27
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
19
        auto call = [&](const auto& types) -> bool {
756
19
            using Types = std::decay_t<decltype(types)>;
757
19
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
19
            Int16 result_scale = 0;
762
19
            if constexpr (IsDataTypeDecimal<DataType>) {
763
19
                if (column_result.type->is_nullable()) {
764
11
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
11
                                column_result.type)) {
766
11
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
11
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
11
                } else {
772
8
                    result_scale = column_result.type->get_scale();
773
8
                }
774
19
            }
775
776
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
19
                if (arguments.size() == 1 ||
778
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
19
                return true;
805
19
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
79
        auto call = [&](const auto& types) -> bool {
756
79
            using Types = std::decay_t<decltype(types)>;
757
79
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
79
            Int16 result_scale = 0;
762
79
            if constexpr (IsDataTypeDecimal<DataType>) {
763
79
                if (column_result.type->is_nullable()) {
764
75
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
75
                                column_result.type)) {
766
75
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
75
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
75
                } else {
772
4
                    result_scale = column_result.type->get_scale();
773
4
                }
774
79
            }
775
776
79
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
79
                if (arguments.size() == 1 ||
778
79
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
79
                    Int16 scale_arg = 0;
781
79
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
79
                    res = Dispatcher<DataType::PType, rounding_mode,
787
79
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
79
                                                                         result_scale);
789
79
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
79
                return true;
805
79
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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
755
44
        auto call = [&](const auto& types) -> bool {
756
44
            using Types = std::decay_t<decltype(types)>;
757
44
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
44
            Int16 result_scale = 0;
762
44
            if constexpr (IsDataTypeDecimal<DataType>) {
763
44
                if (column_result.type->is_nullable()) {
764
34
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
34
                                column_result.type)) {
766
34
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
34
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
34
                } else {
772
10
                    result_scale = column_result.type->get_scale();
773
10
                }
774
44
            }
775
776
44
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
44
                if (arguments.size() == 1 ||
778
44
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
44
                    Int16 scale_arg = 0;
781
44
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
44
                    res = Dispatcher<DataType::PType, rounding_mode,
787
44
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
44
                                                                         result_scale);
789
44
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
44
                return true;
805
44
            }
806
807
0
            return false;
808
44
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
257
        auto call = [&](const auto& types) -> bool {
756
257
            using Types = std::decay_t<decltype(types)>;
757
257
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
257
            Int16 result_scale = 0;
762
257
            if constexpr (IsDataTypeDecimal<DataType>) {
763
257
                if (column_result.type->is_nullable()) {
764
138
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
138
                                column_result.type)) {
766
138
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
138
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
138
                } else {
772
119
                    result_scale = column_result.type->get_scale();
773
119
                }
774
257
            }
775
776
257
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
257
                if (arguments.size() == 1 ||
778
257
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
257
                    Int16 scale_arg = 0;
781
257
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
257
                    res = Dispatcher<DataType::PType, rounding_mode,
787
257
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
257
                                                                         result_scale);
789
257
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
257
                return true;
805
257
            }
806
807
0
            return false;
808
257
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
31
        auto call = [&](const auto& types) -> bool {
756
31
            using Types = std::decay_t<decltype(types)>;
757
31
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
31
            Int16 result_scale = 0;
762
31
            if constexpr (IsDataTypeDecimal<DataType>) {
763
31
                if (column_result.type->is_nullable()) {
764
23
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
23
                                column_result.type)) {
766
23
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
23
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
23
                } else {
772
8
                    result_scale = column_result.type->get_scale();
773
8
                }
774
31
            }
775
776
31
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
31
                if (arguments.size() == 1 ||
778
31
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
31
                    Int16 scale_arg = 0;
781
31
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
31
                    res = Dispatcher<DataType::PType, rounding_mode,
787
31
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
31
                                                                         result_scale);
789
31
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
31
                return true;
805
31
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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
755
9
        auto call = [&](const auto& types) -> bool {
756
9
            using Types = std::decay_t<decltype(types)>;
757
9
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
9
            Int16 result_scale = 0;
762
9
            if constexpr (IsDataTypeDecimal<DataType>) {
763
9
                if (column_result.type->is_nullable()) {
764
5
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
5
                                column_result.type)) {
766
5
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
5
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
5
                } else {
772
4
                    result_scale = column_result.type->get_scale();
773
4
                }
774
9
            }
775
776
9
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
9
                if (arguments.size() == 1 ||
778
9
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
9
                    Int16 scale_arg = 0;
781
9
                    if (arguments.size() == 2) {
782
0
                        RETURN_IF_ERROR(
783
0
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
0
                    }
785
786
9
                    res = Dispatcher<DataType::PType, rounding_mode,
787
9
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
9
                                                                         result_scale);
789
9
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
9
                return true;
805
9
            }
806
807
0
            return false;
808
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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
755
69
        auto call = [&](const auto& types) -> bool {
756
69
            using Types = std::decay_t<decltype(types)>;
757
69
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
69
            Int16 result_scale = 0;
762
69
            if constexpr (IsDataTypeDecimal<DataType>) {
763
69
                if (column_result.type->is_nullable()) {
764
26
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
26
                                column_result.type)) {
766
26
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
26
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
43
                } else {
772
43
                    result_scale = column_result.type->get_scale();
773
43
                }
774
69
            }
775
776
69
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
69
                if (arguments.size() == 1 ||
778
69
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
30
                    Int16 scale_arg = 0;
781
30
                    if (arguments.size() == 2) {
782
30
                        RETURN_IF_ERROR(
783
30
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
30
                    }
785
786
30
                    res = Dispatcher<DataType::PType, rounding_mode,
787
30
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
30
                                                                         result_scale);
789
39
                } else {
790
                    // the SECOND arugment is COLUMN
791
39
                    if (is_col_general_const) {
792
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
15
                                apply_const_vec(
794
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
15
                                        block.get_by_position(arguments[1]).column.get(),
796
15
                                        result_scale);
797
24
                    } else {
798
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
24
                                apply_vec_vec(col_general,
800
24
                                              block.get_by_position(arguments[1]).column.get(),
801
24
                                              result_scale);
802
24
                    }
803
39
                }
804
69
                return true;
805
69
            }
806
807
0
            return false;
808
69
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
181
        auto call = [&](const auto& types) -> bool {
756
181
            using Types = std::decay_t<decltype(types)>;
757
181
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
181
            Int16 result_scale = 0;
762
181
            if constexpr (IsDataTypeDecimal<DataType>) {
763
181
                if (column_result.type->is_nullable()) {
764
17
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
18
                                column_result.type)) {
766
18
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
18.4E
                    } else {
768
18.4E
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
18.4E
                                               "Illegal nullable column");
770
18.4E
                    }
771
164
                } else {
772
164
                    result_scale = column_result.type->get_scale();
773
164
                }
774
181
            }
775
776
182
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
181
                if (arguments.size() == 1 ||
778
182
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
21
                    Int16 scale_arg = 0;
781
21
                    if (arguments.size() == 2) {
782
21
                        RETURN_IF_ERROR(
783
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
21
                    }
785
786
21
                    res = Dispatcher<DataType::PType, rounding_mode,
787
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
21
                                                                         result_scale);
789
160
                } else {
790
                    // the SECOND arugment is COLUMN
791
160
                    if (is_col_general_const) {
792
75
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
75
                                apply_const_vec(
794
75
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
75
                                        block.get_by_position(arguments[1]).column.get(),
796
75
                                        result_scale);
797
85
                    } else {
798
85
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
85
                                apply_vec_vec(col_general,
800
85
                                              block.get_by_position(arguments[1]).column.get(),
801
85
                                              result_scale);
802
85
                    }
803
160
                }
804
181
                return true;
805
181
            }
806
807
0
            return false;
808
181
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
62
        auto call = [&](const auto& types) -> bool {
756
62
            using Types = std::decay_t<decltype(types)>;
757
62
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
62
            Int16 result_scale = 0;
762
62
            if constexpr (IsDataTypeDecimal<DataType>) {
763
62
                if (column_result.type->is_nullable()) {
764
20
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
20
                                column_result.type)) {
766
20
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
20
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
42
                } else {
772
42
                    result_scale = column_result.type->get_scale();
773
42
                }
774
62
            }
775
776
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
62
                if (arguments.size() == 1 ||
778
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
21
                    Int16 scale_arg = 0;
781
21
                    if (arguments.size() == 2) {
782
21
                        RETURN_IF_ERROR(
783
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
21
                    }
785
786
21
                    res = Dispatcher<DataType::PType, rounding_mode,
787
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
21
                                                                         result_scale);
789
41
                } else {
790
                    // the SECOND arugment is COLUMN
791
41
                    if (is_col_general_const) {
792
16
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
16
                                apply_const_vec(
794
16
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
16
                                        block.get_by_position(arguments[1]).column.get(),
796
16
                                        result_scale);
797
25
                    } else {
798
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
25
                                apply_vec_vec(col_general,
800
25
                                              block.get_by_position(arguments[1]).column.get(),
801
25
                                              result_scale);
802
25
                    }
803
41
                }
804
62
                return true;
805
62
            }
806
807
0
            return false;
808
62
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
182
        auto call = [&](const auto& types) -> bool {
756
182
            using Types = std::decay_t<decltype(types)>;
757
182
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
182
            Int16 result_scale = 0;
762
182
            if constexpr (IsDataTypeDecimal<DataType>) {
763
182
                if (column_result.type->is_nullable()) {
764
17
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
17
                                column_result.type)) {
766
17
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
17
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
165
                } else {
772
165
                    result_scale = column_result.type->get_scale();
773
165
                }
774
182
            }
775
776
182
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
182
                if (arguments.size() == 1 ||
778
182
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
20
                    Int16 scale_arg = 0;
781
20
                    if (arguments.size() == 2) {
782
20
                        RETURN_IF_ERROR(
783
20
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
20
                    }
785
786
20
                    res = Dispatcher<DataType::PType, rounding_mode,
787
20
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
20
                                                                         result_scale);
789
162
                } else {
790
                    // the SECOND arugment is COLUMN
791
162
                    if (is_col_general_const) {
792
75
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
75
                                apply_const_vec(
794
75
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
75
                                        block.get_by_position(arguments[1]).column.get(),
796
75
                                        result_scale);
797
87
                    } else {
798
87
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
87
                                apply_vec_vec(col_general,
800
87
                                              block.get_by_position(arguments[1]).column.get(),
801
87
                                              result_scale);
802
87
                    }
803
162
                }
804
182
                return true;
805
182
            }
806
807
0
            return false;
808
182
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
52
        auto call = [&](const auto& types) -> bool {
756
52
            using Types = std::decay_t<decltype(types)>;
757
52
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
52
            Int16 result_scale = 0;
762
52
            if constexpr (IsDataTypeDecimal<DataType>) {
763
52
                if (column_result.type->is_nullable()) {
764
14
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
14
                                column_result.type)) {
766
14
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
14
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
38
                } else {
772
38
                    result_scale = column_result.type->get_scale();
773
38
                }
774
52
            }
775
776
52
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
52
                if (arguments.size() == 1 ||
778
52
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
12
                    Int16 scale_arg = 0;
781
12
                    if (arguments.size() == 2) {
782
12
                        RETURN_IF_ERROR(
783
12
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
12
                    }
785
786
12
                    res = Dispatcher<DataType::PType, rounding_mode,
787
12
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
12
                                                                         result_scale);
789
40
                } else {
790
                    // the SECOND arugment is COLUMN
791
40
                    if (is_col_general_const) {
792
15
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
15
                                apply_const_vec(
794
15
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
15
                                        block.get_by_position(arguments[1]).column.get(),
796
15
                                        result_scale);
797
25
                    } else {
798
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
25
                                apply_vec_vec(col_general,
800
25
                                              block.get_by_position(arguments[1]).column.get(),
801
25
                                              result_scale);
802
25
                    }
803
40
                }
804
52
                return true;
805
52
            }
806
807
0
            return false;
808
52
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
48
        auto call = [&](const auto& types) -> bool {
756
48
            using Types = std::decay_t<decltype(types)>;
757
48
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
48
            Int16 result_scale = 0;
762
48
            if constexpr (IsDataTypeDecimal<DataType>) {
763
48
                if (column_result.type->is_nullable()) {
764
31
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
31
                                column_result.type)) {
766
31
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
31
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
31
                } else {
772
17
                    result_scale = column_result.type->get_scale();
773
17
                }
774
48
            }
775
776
48
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
48
                if (arguments.size() == 1 ||
778
48
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
26
                    Int16 scale_arg = 0;
781
26
                    if (arguments.size() == 2) {
782
26
                        RETURN_IF_ERROR(
783
26
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
26
                    }
785
786
26
                    res = Dispatcher<DataType::PType, rounding_mode,
787
26
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
26
                                                                         result_scale);
789
26
                } else {
790
                    // the SECOND arugment is COLUMN
791
22
                    if (is_col_general_const) {
792
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
14
                                apply_const_vec(
794
14
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
14
                                        block.get_by_position(arguments[1]).column.get(),
796
14
                                        result_scale);
797
14
                    } else {
798
8
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
8
                                apply_vec_vec(col_general,
800
8
                                              block.get_by_position(arguments[1]).column.get(),
801
8
                                              result_scale);
802
8
                    }
803
22
                }
804
48
                return true;
805
48
            }
806
807
0
            return false;
808
48
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
50
        auto call = [&](const auto& types) -> bool {
756
50
            using Types = std::decay_t<decltype(types)>;
757
50
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
50
            Int16 result_scale = 0;
762
50
            if constexpr (IsDataTypeDecimal<DataType>) {
763
50
                if (column_result.type->is_nullable()) {
764
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
22
                                column_result.type)) {
766
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
22
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
28
                } else {
772
28
                    result_scale = column_result.type->get_scale();
773
28
                }
774
50
            }
775
776
50
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
50
                if (arguments.size() == 1 ||
778
50
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
21
                    Int16 scale_arg = 0;
781
21
                    if (arguments.size() == 2) {
782
21
                        RETURN_IF_ERROR(
783
21
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
21
                    }
785
786
21
                    res = Dispatcher<DataType::PType, rounding_mode,
787
21
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
21
                                                                         result_scale);
789
29
                } else {
790
                    // the SECOND arugment is COLUMN
791
29
                    if (is_col_general_const) {
792
11
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
11
                                apply_const_vec(
794
11
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
11
                                        block.get_by_position(arguments[1]).column.get(),
796
11
                                        result_scale);
797
18
                    } else {
798
18
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
18
                                apply_vec_vec(col_general,
800
18
                                              block.get_by_position(arguments[1]).column.get(),
801
18
                                              result_scale);
802
18
                    }
803
29
                }
804
50
                return true;
805
50
            }
806
807
0
            return false;
808
50
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
111
        auto call = [&](const auto& types) -> bool {
756
111
            using Types = std::decay_t<decltype(types)>;
757
111
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
111
            Int16 result_scale = 0;
762
111
            if constexpr (IsDataTypeDecimal<DataType>) {
763
111
                if (column_result.type->is_nullable()) {
764
32
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
32
                                column_result.type)) {
766
32
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
32
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
79
                } else {
772
79
                    result_scale = column_result.type->get_scale();
773
79
                }
774
111
            }
775
776
111
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
111
                if (arguments.size() == 1 ||
778
112
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
92
                    Int16 scale_arg = 0;
781
92
                    if (arguments.size() == 2) {
782
92
                        RETURN_IF_ERROR(
783
92
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
92
                    }
785
786
92
                    res = Dispatcher<DataType::PType, rounding_mode,
787
92
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
92
                                                                         result_scale);
789
92
                } else {
790
                    // the SECOND arugment is COLUMN
791
19
                    if (is_col_general_const) {
792
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
6
                                apply_const_vec(
794
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
6
                                        block.get_by_position(arguments[1]).column.get(),
796
6
                                        result_scale);
797
13
                    } else {
798
13
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
13
                                apply_vec_vec(col_general,
800
13
                                              block.get_by_position(arguments[1]).column.get(),
801
13
                                              result_scale);
802
13
                    }
803
19
                }
804
111
                return true;
805
111
            }
806
807
0
            return false;
808
111
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
47
        auto call = [&](const auto& types) -> bool {
756
47
            using Types = std::decay_t<decltype(types)>;
757
47
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
47
            Int16 result_scale = 0;
762
47
            if constexpr (IsDataTypeDecimal<DataType>) {
763
47
                if (column_result.type->is_nullable()) {
764
18
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
18
                                column_result.type)) {
766
18
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
18
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
29
                } else {
772
29
                    result_scale = column_result.type->get_scale();
773
29
                }
774
47
            }
775
776
47
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
47
                if (arguments.size() == 1 ||
778
47
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
20
                    Int16 scale_arg = 0;
781
20
                    if (arguments.size() == 2) {
782
20
                        RETURN_IF_ERROR(
783
20
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
20
                    }
785
786
20
                    res = Dispatcher<DataType::PType, rounding_mode,
787
20
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
20
                                                                         result_scale);
789
27
                } else {
790
                    // the SECOND arugment is COLUMN
791
27
                    if (is_col_general_const) {
792
10
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
10
                                apply_const_vec(
794
10
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
10
                                        block.get_by_position(arguments[1]).column.get(),
796
10
                                        result_scale);
797
17
                    } else {
798
17
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
17
                                apply_vec_vec(col_general,
800
17
                                              block.get_by_position(arguments[1]).column.get(),
801
17
                                              result_scale);
802
17
                    }
803
27
                }
804
47
                return true;
805
47
            }
806
807
0
            return false;
808
47
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
32
        auto call = [&](const auto& types) -> bool {
756
32
            using Types = std::decay_t<decltype(types)>;
757
32
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
32
            Int16 result_scale = 0;
762
32
            if constexpr (IsDataTypeDecimal<DataType>) {
763
32
                if (column_result.type->is_nullable()) {
764
16
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
16
                                column_result.type)) {
766
16
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
16
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
16
                } else {
772
16
                    result_scale = column_result.type->get_scale();
773
16
                }
774
32
            }
775
776
32
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
32
                if (arguments.size() == 1 ||
778
32
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
12
                    Int16 scale_arg = 0;
781
12
                    if (arguments.size() == 2) {
782
12
                        RETURN_IF_ERROR(
783
12
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
12
                    }
785
786
12
                    res = Dispatcher<DataType::PType, rounding_mode,
787
12
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
12
                                                                         result_scale);
789
20
                } else {
790
                    // the SECOND arugment is COLUMN
791
20
                    if (is_col_general_const) {
792
6
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
6
                                apply_const_vec(
794
6
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
6
                                        block.get_by_position(arguments[1]).column.get(),
796
6
                                        result_scale);
797
14
                    } else {
798
14
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
14
                                apply_vec_vec(col_general,
800
14
                                              block.get_by_position(arguments[1]).column.get(),
801
14
                                              result_scale);
802
14
                    }
803
20
                }
804
32
                return true;
805
32
            }
806
807
0
            return false;
808
32
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
22
        auto call = [&](const auto& types) -> bool {
756
22
            using Types = std::decay_t<decltype(types)>;
757
22
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
22
            Int16 result_scale = 0;
762
22
            if constexpr (IsDataTypeDecimal<DataType>) {
763
22
                if (column_result.type->is_nullable()) {
764
18
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
18
                                column_result.type)) {
766
18
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
18
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
18
                } else {
772
4
                    result_scale = column_result.type->get_scale();
773
4
                }
774
22
            }
775
776
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
22
                if (arguments.size() == 1 ||
778
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
19
                        RETURN_IF_ERROR(
783
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
19
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
3
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
3
                    } else {
798
3
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
3
                                apply_vec_vec(col_general,
800
3
                                              block.get_by_position(arguments[1]).column.get(),
801
3
                                              result_scale);
802
3
                    }
803
3
                }
804
22
                return true;
805
22
            }
806
807
0
            return false;
808
22
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
30
        auto call = [&](const auto& types) -> bool {
756
30
            using Types = std::decay_t<decltype(types)>;
757
30
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
30
            Int16 result_scale = 0;
762
30
            if constexpr (IsDataTypeDecimal<DataType>) {
763
30
                if (column_result.type->is_nullable()) {
764
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
19
                                column_result.type)) {
766
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
19
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
19
                } else {
772
11
                    result_scale = column_result.type->get_scale();
773
11
                }
774
30
            }
775
776
30
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
30
                if (arguments.size() == 1 ||
778
30
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
24
                    Int16 scale_arg = 0;
781
24
                    if (arguments.size() == 2) {
782
24
                        RETURN_IF_ERROR(
783
24
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
24
                    }
785
786
24
                    res = Dispatcher<DataType::PType, rounding_mode,
787
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
24
                                                                         result_scale);
789
24
                } else {
790
                    // the SECOND arugment is COLUMN
791
6
                    if (is_col_general_const) {
792
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
1
                                apply_const_vec(
794
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
1
                                        block.get_by_position(arguments[1]).column.get(),
796
1
                                        result_scale);
797
5
                    } else {
798
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
5
                                apply_vec_vec(col_general,
800
5
                                              block.get_by_position(arguments[1]).column.get(),
801
5
                                              result_scale);
802
5
                    }
803
6
                }
804
30
                return true;
805
30
            }
806
807
0
            return false;
808
30
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
165
        auto call = [&](const auto& types) -> bool {
756
165
            using Types = std::decay_t<decltype(types)>;
757
165
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
165
            Int16 result_scale = 0;
762
165
            if constexpr (IsDataTypeDecimal<DataType>) {
763
165
                if (column_result.type->is_nullable()) {
764
153
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
153
                                column_result.type)) {
766
153
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
153
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
153
                } else {
772
12
                    result_scale = column_result.type->get_scale();
773
12
                }
774
165
            }
775
776
165
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
165
                if (arguments.size() == 1 ||
778
165
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
160
                    Int16 scale_arg = 0;
781
160
                    if (arguments.size() == 2) {
782
160
                        RETURN_IF_ERROR(
783
160
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
160
                    }
785
786
160
                    res = Dispatcher<DataType::PType, rounding_mode,
787
160
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
160
                                                                         result_scale);
789
160
                } else {
790
                    // the SECOND arugment is COLUMN
791
5
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
5
                    } else {
798
5
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
5
                                apply_vec_vec(col_general,
800
5
                                              block.get_by_position(arguments[1]).column.get(),
801
5
                                              result_scale);
802
5
                    }
803
5
                }
804
165
                return true;
805
165
            }
806
807
0
            return false;
808
165
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
28
        auto call = [&](const auto& types) -> bool {
756
28
            using Types = std::decay_t<decltype(types)>;
757
28
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
28
            Int16 result_scale = 0;
762
28
            if constexpr (IsDataTypeDecimal<DataType>) {
763
28
                if (column_result.type->is_nullable()) {
764
17
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
17
                                column_result.type)) {
766
17
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
17
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
17
                } else {
772
11
                    result_scale = column_result.type->get_scale();
773
11
                }
774
28
            }
775
776
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
28
                if (arguments.size() == 1 ||
778
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
23
                    Int16 scale_arg = 0;
781
23
                    if (arguments.size() == 2) {
782
23
                        RETURN_IF_ERROR(
783
23
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
23
                    }
785
786
23
                    res = Dispatcher<DataType::PType, rounding_mode,
787
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
23
                                                                         result_scale);
789
23
                } else {
790
                    // the SECOND arugment is COLUMN
791
5
                    if (is_col_general_const) {
792
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
1
                                apply_const_vec(
794
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
1
                                        block.get_by_position(arguments[1]).column.get(),
796
1
                                        result_scale);
797
4
                    } else {
798
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
4
                                apply_vec_vec(col_general,
800
4
                                              block.get_by_position(arguments[1]).column.get(),
801
4
                                              result_scale);
802
4
                    }
803
5
                }
804
28
                return true;
805
28
            }
806
807
0
            return false;
808
28
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
22
        auto call = [&](const auto& types) -> bool {
756
22
            using Types = std::decay_t<decltype(types)>;
757
22
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
22
            Int16 result_scale = 0;
762
22
            if constexpr (IsDataTypeDecimal<DataType>) {
763
22
                if (column_result.type->is_nullable()) {
764
16
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
16
                                column_result.type)) {
766
16
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
16
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
16
                } else {
772
6
                    result_scale = column_result.type->get_scale();
773
6
                }
774
22
            }
775
776
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
22
                if (arguments.size() == 1 ||
778
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
19
                        RETURN_IF_ERROR(
783
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
19
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
3
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
3
                    } else {
798
3
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
3
                                apply_vec_vec(col_general,
800
3
                                              block.get_by_position(arguments[1]).column.get(),
801
3
                                              result_scale);
802
3
                    }
803
3
                }
804
22
                return true;
805
22
            }
806
807
0
            return false;
808
22
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
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
755
1
        auto call = [&](const auto& types) -> bool {
756
1
            using Types = std::decay_t<decltype(types)>;
757
1
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
1
            Int16 result_scale = 0;
762
1
            if constexpr (IsDataTypeDecimal<DataType>) {
763
1
                if (column_result.type->is_nullable()) {
764
0
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
0
                                column_result.type)) {
766
0
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
0
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
1
                } else {
772
1
                    result_scale = column_result.type->get_scale();
773
1
                }
774
1
            }
775
776
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
1
                if (arguments.size() == 1 ||
778
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
1
                    Int16 scale_arg = 0;
781
1
                    if (arguments.size() == 2) {
782
1
                        RETURN_IF_ERROR(
783
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
1
                    }
785
786
1
                    res = Dispatcher<DataType::PType, rounding_mode,
787
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
1
                                                                         result_scale);
789
1
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
1
                return true;
805
1
            }
806
807
0
            return false;
808
1
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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
755
4
        auto call = [&](const auto& types) -> bool {
756
4
            using Types = std::decay_t<decltype(types)>;
757
4
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
4
            Int16 result_scale = 0;
762
4
            if constexpr (IsDataTypeDecimal<DataType>) {
763
4
                if (column_result.type->is_nullable()) {
764
4
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
4
                                column_result.type)) {
766
4
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
4
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
4
                } else {
772
0
                    result_scale = column_result.type->get_scale();
773
0
                }
774
4
            }
775
776
4
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
4
                if (arguments.size() == 1 ||
778
4
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
4
                    Int16 scale_arg = 0;
781
4
                    if (arguments.size() == 2) {
782
4
                        RETURN_IF_ERROR(
783
4
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
4
                    }
785
786
4
                    res = Dispatcher<DataType::PType, rounding_mode,
787
4
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
4
                                                                         result_scale);
789
4
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
4
                return true;
805
4
            }
806
807
0
            return false;
808
4
        };
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_12DataTypeUUIDEvEEEEbSJ_
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
755
1
        auto call = [&](const auto& types) -> bool {
756
1
            using Types = std::decay_t<decltype(types)>;
757
1
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
1
            Int16 result_scale = 0;
762
1
            if constexpr (IsDataTypeDecimal<DataType>) {
763
1
                if (column_result.type->is_nullable()) {
764
0
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
0
                                column_result.type)) {
766
0
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
0
                    } else {
768
0
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
0
                                               "Illegal nullable column");
770
0
                    }
771
1
                } else {
772
1
                    result_scale = column_result.type->get_scale();
773
1
                }
774
1
            }
775
776
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
1
                if (arguments.size() == 1 ||
778
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
1
                    Int16 scale_arg = 0;
781
1
                    if (arguments.size() == 2) {
782
1
                        RETURN_IF_ERROR(
783
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
1
                    }
785
786
1
                    res = Dispatcher<DataType::PType, rounding_mode,
787
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
1
                                                                         result_scale);
789
1
                } else {
790
                    // the SECOND arugment is COLUMN
791
0
                    if (is_col_general_const) {
792
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
0
                                apply_const_vec(
794
0
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
0
                                        block.get_by_position(arguments[1]).column.get(),
796
0
                                        result_scale);
797
0
                    } else {
798
0
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
0
                                apply_vec_vec(col_general,
800
0
                                              block.get_by_position(arguments[1]).column.get(),
801
0
                                              result_scale);
802
0
                    }
803
0
                }
804
1
                return true;
805
1
            }
806
807
0
            return false;
808
1
        };
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampNsEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeUUIDEvEEEEbSJ_
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_12DataTypeUUIDEvEEEEbSJ_
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
2.47k
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
2.47k
        column_result.column = std::move(res);
826
2.47k
        return Status::OK();
827
2.47k
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
2
                        uint32_t result, size_t input_rows_count) const override {
738
2
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
2
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
2
        const DataTypePtr result_type = block.get_by_position(result).type;
741
2
        const bool is_col_general_const = is_column_const(*column_general.column);
742
2
        const auto* col_general = is_col_general_const
743
2
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
2
                                          : column_general.column.get();
747
2
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
2
        auto call = [&](const auto& types) -> bool {
756
2
            using Types = std::decay_t<decltype(types)>;
757
2
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
2
            Int16 result_scale = 0;
762
2
            if constexpr (IsDataTypeDecimal<DataType>) {
763
2
                if (column_result.type->is_nullable()) {
764
2
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
2
                                column_result.type)) {
766
2
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
2
                    } else {
768
2
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
2
                                               "Illegal nullable column");
770
2
                    }
771
2
                } else {
772
2
                    result_scale = column_result.type->get_scale();
773
2
                }
774
2
            }
775
776
2
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
2
                if (arguments.size() == 1 ||
778
2
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
2
                    Int16 scale_arg = 0;
781
2
                    if (arguments.size() == 2) {
782
2
                        RETURN_IF_ERROR(
783
2
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
2
                    }
785
786
2
                    res = Dispatcher<DataType::PType, rounding_mode,
787
2
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
2
                                                                         result_scale);
789
2
                } else {
790
                    // the SECOND arugment is COLUMN
791
2
                    if (is_col_general_const) {
792
2
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
2
                                apply_const_vec(
794
2
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
2
                                        block.get_by_position(arguments[1]).column.get(),
796
2
                                        result_scale);
797
2
                    } else {
798
2
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
2
                                apply_vec_vec(col_general,
800
2
                                              block.get_by_position(arguments[1]).column.get(),
801
2
                                              result_scale);
802
2
                    }
803
2
                }
804
2
                return true;
805
2
            }
806
807
2
            return false;
808
2
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
2
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
2
        column_result.column = std::move(res);
826
2
        return Status::OK();
827
2
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
41
                        uint32_t result, size_t input_rows_count) const override {
738
41
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
41
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
41
        const DataTypePtr result_type = block.get_by_position(result).type;
741
41
        const bool is_col_general_const = is_column_const(*column_general.column);
742
41
        const auto* col_general = is_col_general_const
743
41
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
41
                                          : column_general.column.get();
747
41
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
41
        auto call = [&](const auto& types) -> bool {
756
41
            using Types = std::decay_t<decltype(types)>;
757
41
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
41
            Int16 result_scale = 0;
762
41
            if constexpr (IsDataTypeDecimal<DataType>) {
763
41
                if (column_result.type->is_nullable()) {
764
41
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
41
                                column_result.type)) {
766
41
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
41
                    } else {
768
41
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
41
                                               "Illegal nullable column");
770
41
                    }
771
41
                } else {
772
41
                    result_scale = column_result.type->get_scale();
773
41
                }
774
41
            }
775
776
41
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
41
                if (arguments.size() == 1 ||
778
41
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
41
                    Int16 scale_arg = 0;
781
41
                    if (arguments.size() == 2) {
782
41
                        RETURN_IF_ERROR(
783
41
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
41
                    }
785
786
41
                    res = Dispatcher<DataType::PType, rounding_mode,
787
41
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
41
                                                                         result_scale);
789
41
                } else {
790
                    // the SECOND arugment is COLUMN
791
41
                    if (is_col_general_const) {
792
41
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
41
                                apply_const_vec(
794
41
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
41
                                        block.get_by_position(arguments[1]).column.get(),
796
41
                                        result_scale);
797
41
                    } else {
798
41
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
41
                                apply_vec_vec(col_general,
800
41
                                              block.get_by_position(arguments[1]).column.get(),
801
41
                                              result_scale);
802
41
                    }
803
41
                }
804
41
                return true;
805
41
            }
806
807
41
            return false;
808
41
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
41
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
41
        column_result.column = std::move(res);
826
41
        return Status::OK();
827
41
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
62
                        uint32_t result, size_t input_rows_count) const override {
738
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
62
        const DataTypePtr result_type = block.get_by_position(result).type;
741
62
        const bool is_col_general_const = is_column_const(*column_general.column);
742
62
        const auto* col_general = is_col_general_const
743
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
62
                                          : column_general.column.get();
747
62
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
62
        auto call = [&](const auto& types) -> bool {
756
62
            using Types = std::decay_t<decltype(types)>;
757
62
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
62
            Int16 result_scale = 0;
762
62
            if constexpr (IsDataTypeDecimal<DataType>) {
763
62
                if (column_result.type->is_nullable()) {
764
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
62
                                column_result.type)) {
766
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
62
                    } else {
768
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
62
                                               "Illegal nullable column");
770
62
                    }
771
62
                } else {
772
62
                    result_scale = column_result.type->get_scale();
773
62
                }
774
62
            }
775
776
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
62
                if (arguments.size() == 1 ||
778
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
62
                    Int16 scale_arg = 0;
781
62
                    if (arguments.size() == 2) {
782
62
                        RETURN_IF_ERROR(
783
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
62
                    }
785
786
62
                    res = Dispatcher<DataType::PType, rounding_mode,
787
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
62
                                                                         result_scale);
789
62
                } else {
790
                    // the SECOND arugment is COLUMN
791
62
                    if (is_col_general_const) {
792
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
62
                                apply_const_vec(
794
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
62
                                        block.get_by_position(arguments[1]).column.get(),
796
62
                                        result_scale);
797
62
                    } else {
798
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
62
                                apply_vec_vec(col_general,
800
62
                                              block.get_by_position(arguments[1]).column.get(),
801
62
                                              result_scale);
802
62
                    }
803
62
                }
804
62
                return true;
805
62
            }
806
807
62
            return false;
808
62
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
62
        column_result.column = std::move(res);
826
62
        return Status::OK();
827
62
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
24
                        uint32_t result, size_t input_rows_count) const override {
738
24
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
24
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
24
        const DataTypePtr result_type = block.get_by_position(result).type;
741
24
        const bool is_col_general_const = is_column_const(*column_general.column);
742
24
        const auto* col_general = is_col_general_const
743
24
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
24
                                          : column_general.column.get();
747
24
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
24
        auto call = [&](const auto& types) -> bool {
756
24
            using Types = std::decay_t<decltype(types)>;
757
24
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
24
            Int16 result_scale = 0;
762
24
            if constexpr (IsDataTypeDecimal<DataType>) {
763
24
                if (column_result.type->is_nullable()) {
764
24
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
24
                                column_result.type)) {
766
24
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
24
                    } else {
768
24
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
24
                                               "Illegal nullable column");
770
24
                    }
771
24
                } else {
772
24
                    result_scale = column_result.type->get_scale();
773
24
                }
774
24
            }
775
776
24
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
24
                if (arguments.size() == 1 ||
778
24
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
24
                    Int16 scale_arg = 0;
781
24
                    if (arguments.size() == 2) {
782
24
                        RETURN_IF_ERROR(
783
24
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
24
                    }
785
786
24
                    res = Dispatcher<DataType::PType, rounding_mode,
787
24
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
24
                                                                         result_scale);
789
24
                } else {
790
                    // the SECOND arugment is COLUMN
791
24
                    if (is_col_general_const) {
792
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
24
                                apply_const_vec(
794
24
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
24
                                        block.get_by_position(arguments[1]).column.get(),
796
24
                                        result_scale);
797
24
                    } else {
798
24
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
24
                                apply_vec_vec(col_general,
800
24
                                              block.get_by_position(arguments[1]).column.get(),
801
24
                                              result_scale);
802
24
                    }
803
24
                }
804
24
                return true;
805
24
            }
806
807
24
            return false;
808
24
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
24
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
24
        column_result.column = std::move(res);
826
24
        return Status::OK();
827
24
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
11
                        uint32_t result, size_t input_rows_count) const override {
738
11
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
11
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
11
        const DataTypePtr result_type = block.get_by_position(result).type;
741
11
        const bool is_col_general_const = is_column_const(*column_general.column);
742
11
        const auto* col_general = is_col_general_const
743
11
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
11
                                          : column_general.column.get();
747
11
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
11
        auto call = [&](const auto& types) -> bool {
756
11
            using Types = std::decay_t<decltype(types)>;
757
11
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
11
            Int16 result_scale = 0;
762
11
            if constexpr (IsDataTypeDecimal<DataType>) {
763
11
                if (column_result.type->is_nullable()) {
764
11
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
11
                                column_result.type)) {
766
11
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
11
                    } else {
768
11
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
11
                                               "Illegal nullable column");
770
11
                    }
771
11
                } else {
772
11
                    result_scale = column_result.type->get_scale();
773
11
                }
774
11
            }
775
776
11
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
11
                if (arguments.size() == 1 ||
778
11
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
11
                    Int16 scale_arg = 0;
781
11
                    if (arguments.size() == 2) {
782
11
                        RETURN_IF_ERROR(
783
11
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
11
                    }
785
786
11
                    res = Dispatcher<DataType::PType, rounding_mode,
787
11
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
11
                                                                         result_scale);
789
11
                } else {
790
                    // the SECOND arugment is COLUMN
791
11
                    if (is_col_general_const) {
792
11
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
11
                                apply_const_vec(
794
11
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
11
                                        block.get_by_position(arguments[1]).column.get(),
796
11
                                        result_scale);
797
11
                    } else {
798
11
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
11
                                apply_vec_vec(col_general,
800
11
                                              block.get_by_position(arguments[1]).column.get(),
801
11
                                              result_scale);
802
11
                    }
803
11
                }
804
11
                return true;
805
11
            }
806
807
11
            return false;
808
11
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
11
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
11
        column_result.column = std::move(res);
826
11
        return Status::OK();
827
11
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
62
                        uint32_t result, size_t input_rows_count) const override {
738
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
62
        const DataTypePtr result_type = block.get_by_position(result).type;
741
62
        const bool is_col_general_const = is_column_const(*column_general.column);
742
62
        const auto* col_general = is_col_general_const
743
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
9
                                                    .get_data_column_ptr()
745
9
                                                    .get()
746
62
                                          : column_general.column.get();
747
62
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
62
        auto call = [&](const auto& types) -> bool {
756
62
            using Types = std::decay_t<decltype(types)>;
757
62
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
62
            Int16 result_scale = 0;
762
62
            if constexpr (IsDataTypeDecimal<DataType>) {
763
62
                if (column_result.type->is_nullable()) {
764
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
62
                                column_result.type)) {
766
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
62
                    } else {
768
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
62
                                               "Illegal nullable column");
770
62
                    }
771
62
                } else {
772
62
                    result_scale = column_result.type->get_scale();
773
62
                }
774
62
            }
775
776
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
62
                if (arguments.size() == 1 ||
778
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
62
                    Int16 scale_arg = 0;
781
62
                    if (arguments.size() == 2) {
782
62
                        RETURN_IF_ERROR(
783
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
62
                    }
785
786
62
                    res = Dispatcher<DataType::PType, rounding_mode,
787
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
62
                                                                         result_scale);
789
62
                } else {
790
                    // the SECOND arugment is COLUMN
791
62
                    if (is_col_general_const) {
792
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
62
                                apply_const_vec(
794
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
62
                                        block.get_by_position(arguments[1]).column.get(),
796
62
                                        result_scale);
797
62
                    } else {
798
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
62
                                apply_vec_vec(col_general,
800
62
                                              block.get_by_position(arguments[1]).column.get(),
801
62
                                              result_scale);
802
62
                    }
803
62
                }
804
62
                return true;
805
62
            }
806
807
62
            return false;
808
62
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
62
        column_result.column = std::move(res);
826
62
        return Status::OK();
827
62
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
25
                        uint32_t result, size_t input_rows_count) const override {
738
25
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
25
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
25
        const DataTypePtr result_type = block.get_by_position(result).type;
741
25
        const bool is_col_general_const = is_column_const(*column_general.column);
742
25
        const auto* col_general = is_col_general_const
743
25
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
9
                                                    .get_data_column_ptr()
745
9
                                                    .get()
746
25
                                          : column_general.column.get();
747
25
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
25
        auto call = [&](const auto& types) -> bool {
756
25
            using Types = std::decay_t<decltype(types)>;
757
25
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
25
            Int16 result_scale = 0;
762
25
            if constexpr (IsDataTypeDecimal<DataType>) {
763
25
                if (column_result.type->is_nullable()) {
764
25
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
25
                                column_result.type)) {
766
25
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
25
                    } else {
768
25
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
25
                                               "Illegal nullable column");
770
25
                    }
771
25
                } else {
772
25
                    result_scale = column_result.type->get_scale();
773
25
                }
774
25
            }
775
776
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
25
                if (arguments.size() == 1 ||
778
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
25
                    Int16 scale_arg = 0;
781
25
                    if (arguments.size() == 2) {
782
25
                        RETURN_IF_ERROR(
783
25
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
25
                    }
785
786
25
                    res = Dispatcher<DataType::PType, rounding_mode,
787
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
25
                                                                         result_scale);
789
25
                } else {
790
                    // the SECOND arugment is COLUMN
791
25
                    if (is_col_general_const) {
792
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
25
                                apply_const_vec(
794
25
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
25
                                        block.get_by_position(arguments[1]).column.get(),
796
25
                                        result_scale);
797
25
                    } else {
798
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
25
                                apply_vec_vec(col_general,
800
25
                                              block.get_by_position(arguments[1]).column.get(),
801
25
                                              result_scale);
802
25
                    }
803
25
                }
804
25
                return true;
805
25
            }
806
807
25
            return false;
808
25
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
25
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
25
        column_result.column = std::move(res);
826
25
        return Status::OK();
827
25
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
296
                        uint32_t result, size_t input_rows_count) const override {
738
296
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
296
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
296
        const DataTypePtr result_type = block.get_by_position(result).type;
741
296
        const bool is_col_general_const = is_column_const(*column_general.column);
742
296
        const auto* col_general = is_col_general_const
743
296
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
11
                                                    .get_data_column_ptr()
745
11
                                                    .get()
746
296
                                          : column_general.column.get();
747
296
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
296
        auto call = [&](const auto& types) -> bool {
756
296
            using Types = std::decay_t<decltype(types)>;
757
296
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
296
            Int16 result_scale = 0;
762
296
            if constexpr (IsDataTypeDecimal<DataType>) {
763
296
                if (column_result.type->is_nullable()) {
764
296
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
296
                                column_result.type)) {
766
296
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
296
                    } else {
768
296
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
296
                                               "Illegal nullable column");
770
296
                    }
771
296
                } else {
772
296
                    result_scale = column_result.type->get_scale();
773
296
                }
774
296
            }
775
776
296
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
296
                if (arguments.size() == 1 ||
778
296
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
296
                    Int16 scale_arg = 0;
781
296
                    if (arguments.size() == 2) {
782
296
                        RETURN_IF_ERROR(
783
296
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
296
                    }
785
786
296
                    res = Dispatcher<DataType::PType, rounding_mode,
787
296
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
296
                                                                         result_scale);
789
296
                } else {
790
                    // the SECOND arugment is COLUMN
791
296
                    if (is_col_general_const) {
792
296
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
296
                                apply_const_vec(
794
296
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
296
                                        block.get_by_position(arguments[1]).column.get(),
796
296
                                        result_scale);
797
296
                    } else {
798
296
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
296
                                apply_vec_vec(col_general,
800
296
                                              block.get_by_position(arguments[1]).column.get(),
801
296
                                              result_scale);
802
296
                    }
803
296
                }
804
296
                return true;
805
296
            }
806
807
296
            return false;
808
296
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
296
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
296
        column_result.column = std::move(res);
826
296
        return Status::OK();
827
296
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
28
                        uint32_t result, size_t input_rows_count) const override {
738
28
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
28
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
28
        const DataTypePtr result_type = block.get_by_position(result).type;
741
28
        const bool is_col_general_const = is_column_const(*column_general.column);
742
28
        const auto* col_general = is_col_general_const
743
28
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
9
                                                    .get_data_column_ptr()
745
9
                                                    .get()
746
28
                                          : column_general.column.get();
747
28
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
28
        auto call = [&](const auto& types) -> bool {
756
28
            using Types = std::decay_t<decltype(types)>;
757
28
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
28
            Int16 result_scale = 0;
762
28
            if constexpr (IsDataTypeDecimal<DataType>) {
763
28
                if (column_result.type->is_nullable()) {
764
28
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
28
                                column_result.type)) {
766
28
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
28
                    } else {
768
28
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
28
                                               "Illegal nullable column");
770
28
                    }
771
28
                } else {
772
28
                    result_scale = column_result.type->get_scale();
773
28
                }
774
28
            }
775
776
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
28
                if (arguments.size() == 1 ||
778
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
28
                    Int16 scale_arg = 0;
781
28
                    if (arguments.size() == 2) {
782
28
                        RETURN_IF_ERROR(
783
28
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
28
                    }
785
786
28
                    res = Dispatcher<DataType::PType, rounding_mode,
787
28
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
28
                                                                         result_scale);
789
28
                } else {
790
                    // the SECOND arugment is COLUMN
791
28
                    if (is_col_general_const) {
792
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
28
                                apply_const_vec(
794
28
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
28
                                        block.get_by_position(arguments[1]).column.get(),
796
28
                                        result_scale);
797
28
                    } else {
798
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
28
                                apply_vec_vec(col_general,
800
28
                                              block.get_by_position(arguments[1]).column.get(),
801
28
                                              result_scale);
802
28
                    }
803
28
                }
804
28
                return true;
805
28
            }
806
807
28
            return false;
808
28
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
28
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
28
        column_result.column = std::move(res);
826
28
        return Status::OK();
827
28
    }
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
34
                        uint32_t result, size_t input_rows_count) const override {
738
34
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
34
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
34
        const DataTypePtr result_type = block.get_by_position(result).type;
741
34
        const bool is_col_general_const = is_column_const(*column_general.column);
742
34
        const auto* col_general = is_col_general_const
743
34
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
11
                                                    .get_data_column_ptr()
745
11
                                                    .get()
746
34
                                          : column_general.column.get();
747
34
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
34
        auto call = [&](const auto& types) -> bool {
756
34
            using Types = std::decay_t<decltype(types)>;
757
34
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
34
            Int16 result_scale = 0;
762
34
            if constexpr (IsDataTypeDecimal<DataType>) {
763
34
                if (column_result.type->is_nullable()) {
764
34
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
34
                                column_result.type)) {
766
34
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
34
                    } else {
768
34
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
34
                                               "Illegal nullable column");
770
34
                    }
771
34
                } else {
772
34
                    result_scale = column_result.type->get_scale();
773
34
                }
774
34
            }
775
776
34
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
34
                if (arguments.size() == 1 ||
778
34
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
34
                    Int16 scale_arg = 0;
781
34
                    if (arguments.size() == 2) {
782
34
                        RETURN_IF_ERROR(
783
34
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
34
                    }
785
786
34
                    res = Dispatcher<DataType::PType, rounding_mode,
787
34
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
34
                                                                         result_scale);
789
34
                } else {
790
                    // the SECOND arugment is COLUMN
791
34
                    if (is_col_general_const) {
792
34
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
34
                                apply_const_vec(
794
34
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
34
                                        block.get_by_position(arguments[1]).column.get(),
796
34
                                        result_scale);
797
34
                    } else {
798
34
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
34
                                apply_vec_vec(col_general,
800
34
                                              block.get_by_position(arguments[1]).column.get(),
801
34
                                              result_scale);
802
34
                    }
803
34
                }
804
34
                return true;
805
34
            }
806
807
34
            return false;
808
34
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
34
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
34
        column_result.column = std::move(res);
826
34
        return Status::OK();
827
34
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
29
                        uint32_t result, size_t input_rows_count) const override {
738
29
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
29
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
29
        const DataTypePtr result_type = block.get_by_position(result).type;
741
29
        const bool is_col_general_const = is_column_const(*column_general.column);
742
29
        const auto* col_general = is_col_general_const
743
29
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
29
                                          : column_general.column.get();
747
29
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
29
        auto call = [&](const auto& types) -> bool {
756
29
            using Types = std::decay_t<decltype(types)>;
757
29
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
29
            Int16 result_scale = 0;
762
29
            if constexpr (IsDataTypeDecimal<DataType>) {
763
29
                if (column_result.type->is_nullable()) {
764
29
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
29
                                column_result.type)) {
766
29
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
29
                    } else {
768
29
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
29
                                               "Illegal nullable column");
770
29
                    }
771
29
                } else {
772
29
                    result_scale = column_result.type->get_scale();
773
29
                }
774
29
            }
775
776
29
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
29
                if (arguments.size() == 1 ||
778
29
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
29
                    Int16 scale_arg = 0;
781
29
                    if (arguments.size() == 2) {
782
29
                        RETURN_IF_ERROR(
783
29
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
29
                    }
785
786
29
                    res = Dispatcher<DataType::PType, rounding_mode,
787
29
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
29
                                                                         result_scale);
789
29
                } else {
790
                    // the SECOND arugment is COLUMN
791
29
                    if (is_col_general_const) {
792
29
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
29
                                apply_const_vec(
794
29
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
29
                                        block.get_by_position(arguments[1]).column.get(),
796
29
                                        result_scale);
797
29
                    } else {
798
29
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
29
                                apply_vec_vec(col_general,
800
29
                                              block.get_by_position(arguments[1]).column.get(),
801
29
                                              result_scale);
802
29
                    }
803
29
                }
804
29
                return true;
805
29
            }
806
807
29
            return false;
808
29
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
29
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
29
        column_result.column = std::move(res);
826
29
        return Status::OK();
827
29
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
23
                        uint32_t result, size_t input_rows_count) const override {
738
23
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
23
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
23
        const DataTypePtr result_type = block.get_by_position(result).type;
741
23
        const bool is_col_general_const = is_column_const(*column_general.column);
742
23
        const auto* col_general = is_col_general_const
743
23
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
23
                                          : column_general.column.get();
747
23
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
23
        auto call = [&](const auto& types) -> bool {
756
23
            using Types = std::decay_t<decltype(types)>;
757
23
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
23
            Int16 result_scale = 0;
762
23
            if constexpr (IsDataTypeDecimal<DataType>) {
763
23
                if (column_result.type->is_nullable()) {
764
23
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
23
                                column_result.type)) {
766
23
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
23
                    } else {
768
23
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
23
                                               "Illegal nullable column");
770
23
                    }
771
23
                } else {
772
23
                    result_scale = column_result.type->get_scale();
773
23
                }
774
23
            }
775
776
23
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
23
                if (arguments.size() == 1 ||
778
23
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
23
                    Int16 scale_arg = 0;
781
23
                    if (arguments.size() == 2) {
782
23
                        RETURN_IF_ERROR(
783
23
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
23
                    }
785
786
23
                    res = Dispatcher<DataType::PType, rounding_mode,
787
23
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
23
                                                                         result_scale);
789
23
                } else {
790
                    // the SECOND arugment is COLUMN
791
23
                    if (is_col_general_const) {
792
23
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
23
                                apply_const_vec(
794
23
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
23
                                        block.get_by_position(arguments[1]).column.get(),
796
23
                                        result_scale);
797
23
                    } else {
798
23
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
23
                                apply_vec_vec(col_general,
800
23
                                              block.get_by_position(arguments[1]).column.get(),
801
23
                                              result_scale);
802
23
                    }
803
23
                }
804
23
                return true;
805
23
            }
806
807
23
            return false;
808
23
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
23
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
23
        column_result.column = std::move(res);
826
23
        return Status::OK();
827
23
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
25
                        uint32_t result, size_t input_rows_count) const override {
738
25
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
25
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
25
        const DataTypePtr result_type = block.get_by_position(result).type;
741
25
        const bool is_col_general_const = is_column_const(*column_general.column);
742
25
        const auto* col_general = is_col_general_const
743
25
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
25
                                          : column_general.column.get();
747
25
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
25
        auto call = [&](const auto& types) -> bool {
756
25
            using Types = std::decay_t<decltype(types)>;
757
25
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
25
            Int16 result_scale = 0;
762
25
            if constexpr (IsDataTypeDecimal<DataType>) {
763
25
                if (column_result.type->is_nullable()) {
764
25
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
25
                                column_result.type)) {
766
25
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
25
                    } else {
768
25
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
25
                                               "Illegal nullable column");
770
25
                    }
771
25
                } else {
772
25
                    result_scale = column_result.type->get_scale();
773
25
                }
774
25
            }
775
776
25
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
25
                if (arguments.size() == 1 ||
778
25
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
25
                    Int16 scale_arg = 0;
781
25
                    if (arguments.size() == 2) {
782
25
                        RETURN_IF_ERROR(
783
25
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
25
                    }
785
786
25
                    res = Dispatcher<DataType::PType, rounding_mode,
787
25
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
25
                                                                         result_scale);
789
25
                } else {
790
                    // the SECOND arugment is COLUMN
791
25
                    if (is_col_general_const) {
792
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
25
                                apply_const_vec(
794
25
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
25
                                        block.get_by_position(arguments[1]).column.get(),
796
25
                                        result_scale);
797
25
                    } else {
798
25
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
25
                                apply_vec_vec(col_general,
800
25
                                              block.get_by_position(arguments[1]).column.get(),
801
25
                                              result_scale);
802
25
                    }
803
25
                }
804
25
                return true;
805
25
            }
806
807
25
            return false;
808
25
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
25
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
25
        column_result.column = std::move(res);
826
25
        return Status::OK();
827
25
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
19
                        uint32_t result, size_t input_rows_count) const override {
738
19
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
19
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
19
        const DataTypePtr result_type = block.get_by_position(result).type;
741
19
        const bool is_col_general_const = is_column_const(*column_general.column);
742
19
        const auto* col_general = is_col_general_const
743
19
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
19
                                          : column_general.column.get();
747
19
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
19
        auto call = [&](const auto& types) -> bool {
756
19
            using Types = std::decay_t<decltype(types)>;
757
19
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
19
            Int16 result_scale = 0;
762
19
            if constexpr (IsDataTypeDecimal<DataType>) {
763
19
                if (column_result.type->is_nullable()) {
764
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
19
                                column_result.type)) {
766
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
19
                    } else {
768
19
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
19
                                               "Illegal nullable column");
770
19
                    }
771
19
                } else {
772
19
                    result_scale = column_result.type->get_scale();
773
19
                }
774
19
            }
775
776
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
19
                if (arguments.size() == 1 ||
778
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
19
                        RETURN_IF_ERROR(
783
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
19
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
19
                    if (is_col_general_const) {
792
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
19
                                apply_const_vec(
794
19
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
19
                                        block.get_by_position(arguments[1]).column.get(),
796
19
                                        result_scale);
797
19
                    } else {
798
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
19
                                apply_vec_vec(col_general,
800
19
                                              block.get_by_position(arguments[1]).column.get(),
801
19
                                              result_scale);
802
19
                    }
803
19
                }
804
19
                return true;
805
19
            }
806
807
19
            return false;
808
19
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
19
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
19
        column_result.column = std::move(res);
826
19
        return Status::OK();
827
19
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
218
                        uint32_t result, size_t input_rows_count) const override {
738
218
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
218
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
218
        const DataTypePtr result_type = block.get_by_position(result).type;
741
218
        const bool is_col_general_const = is_column_const(*column_general.column);
742
218
        const auto* col_general = is_col_general_const
743
218
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
218
                                          : column_general.column.get();
747
218
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
218
        auto call = [&](const auto& types) -> bool {
756
218
            using Types = std::decay_t<decltype(types)>;
757
218
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
218
            Int16 result_scale = 0;
762
218
            if constexpr (IsDataTypeDecimal<DataType>) {
763
218
                if (column_result.type->is_nullable()) {
764
218
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
218
                                column_result.type)) {
766
218
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
218
                    } else {
768
218
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
218
                                               "Illegal nullable column");
770
218
                    }
771
218
                } else {
772
218
                    result_scale = column_result.type->get_scale();
773
218
                }
774
218
            }
775
776
218
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
218
                if (arguments.size() == 1 ||
778
218
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
218
                    Int16 scale_arg = 0;
781
218
                    if (arguments.size() == 2) {
782
218
                        RETURN_IF_ERROR(
783
218
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
218
                    }
785
786
218
                    res = Dispatcher<DataType::PType, rounding_mode,
787
218
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
218
                                                                         result_scale);
789
218
                } else {
790
                    // the SECOND arugment is COLUMN
791
218
                    if (is_col_general_const) {
792
218
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
218
                                apply_const_vec(
794
218
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
218
                                        block.get_by_position(arguments[1]).column.get(),
796
218
                                        result_scale);
797
218
                    } else {
798
218
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
218
                                apply_vec_vec(col_general,
800
218
                                              block.get_by_position(arguments[1]).column.get(),
801
218
                                              result_scale);
802
218
                    }
803
218
                }
804
218
                return true;
805
218
            }
806
807
218
            return false;
808
218
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
218
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
218
        column_result.column = std::move(res);
826
218
        return Status::OK();
827
218
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
27
                        uint32_t result, size_t input_rows_count) const override {
738
27
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
27
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
27
        const DataTypePtr result_type = block.get_by_position(result).type;
741
27
        const bool is_col_general_const = is_column_const(*column_general.column);
742
27
        const auto* col_general = is_col_general_const
743
27
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
27
                                          : column_general.column.get();
747
27
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
27
        auto call = [&](const auto& types) -> bool {
756
27
            using Types = std::decay_t<decltype(types)>;
757
27
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
27
            Int16 result_scale = 0;
762
27
            if constexpr (IsDataTypeDecimal<DataType>) {
763
27
                if (column_result.type->is_nullable()) {
764
27
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
27
                                column_result.type)) {
766
27
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
27
                    } else {
768
27
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
27
                                               "Illegal nullable column");
770
27
                    }
771
27
                } else {
772
27
                    result_scale = column_result.type->get_scale();
773
27
                }
774
27
            }
775
776
27
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
27
                if (arguments.size() == 1 ||
778
27
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
27
                    Int16 scale_arg = 0;
781
27
                    if (arguments.size() == 2) {
782
27
                        RETURN_IF_ERROR(
783
27
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
27
                    }
785
786
27
                    res = Dispatcher<DataType::PType, rounding_mode,
787
27
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
27
                                                                         result_scale);
789
27
                } else {
790
                    // the SECOND arugment is COLUMN
791
27
                    if (is_col_general_const) {
792
27
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
27
                                apply_const_vec(
794
27
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
27
                                        block.get_by_position(arguments[1]).column.get(),
796
27
                                        result_scale);
797
27
                    } else {
798
27
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
27
                                apply_vec_vec(col_general,
800
27
                                              block.get_by_position(arguments[1]).column.get(),
801
27
                                              result_scale);
802
27
                    }
803
27
                }
804
27
                return true;
805
27
            }
806
807
27
            return false;
808
27
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
27
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
27
        column_result.column = std::move(res);
826
27
        return Status::OK();
827
27
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
19
                        uint32_t result, size_t input_rows_count) const override {
738
19
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
19
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
19
        const DataTypePtr result_type = block.get_by_position(result).type;
741
19
        const bool is_col_general_const = is_column_const(*column_general.column);
742
19
        const auto* col_general = is_col_general_const
743
19
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
19
                                          : column_general.column.get();
747
19
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
19
        auto call = [&](const auto& types) -> bool {
756
19
            using Types = std::decay_t<decltype(types)>;
757
19
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
19
            Int16 result_scale = 0;
762
19
            if constexpr (IsDataTypeDecimal<DataType>) {
763
19
                if (column_result.type->is_nullable()) {
764
19
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
19
                                column_result.type)) {
766
19
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
19
                    } else {
768
19
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
19
                                               "Illegal nullable column");
770
19
                    }
771
19
                } else {
772
19
                    result_scale = column_result.type->get_scale();
773
19
                }
774
19
            }
775
776
19
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
19
                if (arguments.size() == 1 ||
778
19
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
19
                    Int16 scale_arg = 0;
781
19
                    if (arguments.size() == 2) {
782
19
                        RETURN_IF_ERROR(
783
19
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
19
                    }
785
786
19
                    res = Dispatcher<DataType::PType, rounding_mode,
787
19
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
19
                                                                         result_scale);
789
19
                } else {
790
                    // the SECOND arugment is COLUMN
791
19
                    if (is_col_general_const) {
792
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
19
                                apply_const_vec(
794
19
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
19
                                        block.get_by_position(arguments[1]).column.get(),
796
19
                                        result_scale);
797
19
                    } else {
798
19
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
19
                                apply_vec_vec(col_general,
800
19
                                              block.get_by_position(arguments[1]).column.get(),
801
19
                                              result_scale);
802
19
                    }
803
19
                }
804
19
                return true;
805
19
            }
806
807
19
            return false;
808
19
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
19
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
19
        column_result.column = std::move(res);
826
19
        return Status::OK();
827
19
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
79
                        uint32_t result, size_t input_rows_count) const override {
738
79
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
79
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
79
        const DataTypePtr result_type = block.get_by_position(result).type;
741
79
        const bool is_col_general_const = is_column_const(*column_general.column);
742
79
        const auto* col_general = is_col_general_const
743
79
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
79
                                          : column_general.column.get();
747
79
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
79
        auto call = [&](const auto& types) -> bool {
756
79
            using Types = std::decay_t<decltype(types)>;
757
79
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
79
            Int16 result_scale = 0;
762
79
            if constexpr (IsDataTypeDecimal<DataType>) {
763
79
                if (column_result.type->is_nullable()) {
764
79
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
79
                                column_result.type)) {
766
79
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
79
                    } else {
768
79
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
79
                                               "Illegal nullable column");
770
79
                    }
771
79
                } else {
772
79
                    result_scale = column_result.type->get_scale();
773
79
                }
774
79
            }
775
776
79
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
79
                if (arguments.size() == 1 ||
778
79
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
79
                    Int16 scale_arg = 0;
781
79
                    if (arguments.size() == 2) {
782
79
                        RETURN_IF_ERROR(
783
79
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
79
                    }
785
786
79
                    res = Dispatcher<DataType::PType, rounding_mode,
787
79
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
79
                                                                         result_scale);
789
79
                } else {
790
                    // the SECOND arugment is COLUMN
791
79
                    if (is_col_general_const) {
792
79
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
79
                                apply_const_vec(
794
79
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
79
                                        block.get_by_position(arguments[1]).column.get(),
796
79
                                        result_scale);
797
79
                    } else {
798
79
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
79
                                apply_vec_vec(col_general,
800
79
                                              block.get_by_position(arguments[1]).column.get(),
801
79
                                              result_scale);
802
79
                    }
803
79
                }
804
79
                return true;
805
79
            }
806
807
79
            return false;
808
79
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
79
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
79
        column_result.column = std::move(res);
826
79
        return Status::OK();
827
79
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
44
                        uint32_t result, size_t input_rows_count) const override {
738
44
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
44
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
44
        const DataTypePtr result_type = block.get_by_position(result).type;
741
44
        const bool is_col_general_const = is_column_const(*column_general.column);
742
44
        const auto* col_general = is_col_general_const
743
44
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
44
                                          : column_general.column.get();
747
44
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
44
        auto call = [&](const auto& types) -> bool {
756
44
            using Types = std::decay_t<decltype(types)>;
757
44
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
44
            Int16 result_scale = 0;
762
44
            if constexpr (IsDataTypeDecimal<DataType>) {
763
44
                if (column_result.type->is_nullable()) {
764
44
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
44
                                column_result.type)) {
766
44
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
44
                    } else {
768
44
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
44
                                               "Illegal nullable column");
770
44
                    }
771
44
                } else {
772
44
                    result_scale = column_result.type->get_scale();
773
44
                }
774
44
            }
775
776
44
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
44
                if (arguments.size() == 1 ||
778
44
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
44
                    Int16 scale_arg = 0;
781
44
                    if (arguments.size() == 2) {
782
44
                        RETURN_IF_ERROR(
783
44
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
44
                    }
785
786
44
                    res = Dispatcher<DataType::PType, rounding_mode,
787
44
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
44
                                                                         result_scale);
789
44
                } else {
790
                    // the SECOND arugment is COLUMN
791
44
                    if (is_col_general_const) {
792
44
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
44
                                apply_const_vec(
794
44
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
44
                                        block.get_by_position(arguments[1]).column.get(),
796
44
                                        result_scale);
797
44
                    } else {
798
44
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
44
                                apply_vec_vec(col_general,
800
44
                                              block.get_by_position(arguments[1]).column.get(),
801
44
                                              result_scale);
802
44
                    }
803
44
                }
804
44
                return true;
805
44
            }
806
807
44
            return false;
808
44
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
44
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
44
        column_result.column = std::move(res);
826
44
        return Status::OK();
827
44
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
257
                        uint32_t result, size_t input_rows_count) const override {
738
257
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
257
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
257
        const DataTypePtr result_type = block.get_by_position(result).type;
741
257
        const bool is_col_general_const = is_column_const(*column_general.column);
742
257
        const auto* col_general = is_col_general_const
743
257
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
257
                                          : column_general.column.get();
747
257
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
257
        auto call = [&](const auto& types) -> bool {
756
257
            using Types = std::decay_t<decltype(types)>;
757
257
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
257
            Int16 result_scale = 0;
762
257
            if constexpr (IsDataTypeDecimal<DataType>) {
763
257
                if (column_result.type->is_nullable()) {
764
257
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
257
                                column_result.type)) {
766
257
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
257
                    } else {
768
257
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
257
                                               "Illegal nullable column");
770
257
                    }
771
257
                } else {
772
257
                    result_scale = column_result.type->get_scale();
773
257
                }
774
257
            }
775
776
257
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
257
                if (arguments.size() == 1 ||
778
257
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
257
                    Int16 scale_arg = 0;
781
257
                    if (arguments.size() == 2) {
782
257
                        RETURN_IF_ERROR(
783
257
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
257
                    }
785
786
257
                    res = Dispatcher<DataType::PType, rounding_mode,
787
257
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
257
                                                                         result_scale);
789
257
                } else {
790
                    // the SECOND arugment is COLUMN
791
257
                    if (is_col_general_const) {
792
257
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
257
                                apply_const_vec(
794
257
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
257
                                        block.get_by_position(arguments[1]).column.get(),
796
257
                                        result_scale);
797
257
                    } else {
798
257
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
257
                                apply_vec_vec(col_general,
800
257
                                              block.get_by_position(arguments[1]).column.get(),
801
257
                                              result_scale);
802
257
                    }
803
257
                }
804
257
                return true;
805
257
            }
806
807
257
            return false;
808
257
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
257
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
257
        column_result.column = std::move(res);
826
257
        return Status::OK();
827
257
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
30
                        uint32_t result, size_t input_rows_count) const override {
738
30
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
30
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
30
        const DataTypePtr result_type = block.get_by_position(result).type;
741
30
        const bool is_col_general_const = is_column_const(*column_general.column);
742
30
        const auto* col_general = is_col_general_const
743
30
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
30
                                          : column_general.column.get();
747
30
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
30
        auto call = [&](const auto& types) -> bool {
756
30
            using Types = std::decay_t<decltype(types)>;
757
30
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
30
            Int16 result_scale = 0;
762
30
            if constexpr (IsDataTypeDecimal<DataType>) {
763
30
                if (column_result.type->is_nullable()) {
764
30
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
30
                                column_result.type)) {
766
30
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
30
                    } else {
768
30
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
30
                                               "Illegal nullable column");
770
30
                    }
771
30
                } else {
772
30
                    result_scale = column_result.type->get_scale();
773
30
                }
774
30
            }
775
776
30
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
30
                if (arguments.size() == 1 ||
778
30
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
30
                    Int16 scale_arg = 0;
781
30
                    if (arguments.size() == 2) {
782
30
                        RETURN_IF_ERROR(
783
30
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
30
                    }
785
786
30
                    res = Dispatcher<DataType::PType, rounding_mode,
787
30
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
30
                                                                         result_scale);
789
30
                } else {
790
                    // the SECOND arugment is COLUMN
791
30
                    if (is_col_general_const) {
792
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
30
                                apply_const_vec(
794
30
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
30
                                        block.get_by_position(arguments[1]).column.get(),
796
30
                                        result_scale);
797
30
                    } else {
798
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
30
                                apply_vec_vec(col_general,
800
30
                                              block.get_by_position(arguments[1]).column.get(),
801
30
                                              result_scale);
802
30
                    }
803
30
                }
804
30
                return true;
805
30
            }
806
807
30
            return false;
808
30
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
30
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
30
        column_result.column = std::move(res);
826
30
        return Status::OK();
827
30
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
9
                        uint32_t result, size_t input_rows_count) const override {
738
9
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
9
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
9
        const DataTypePtr result_type = block.get_by_position(result).type;
741
9
        const bool is_col_general_const = is_column_const(*column_general.column);
742
9
        const auto* col_general = is_col_general_const
743
9
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
9
                                          : column_general.column.get();
747
9
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
9
        auto call = [&](const auto& types) -> bool {
756
9
            using Types = std::decay_t<decltype(types)>;
757
9
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
9
            Int16 result_scale = 0;
762
9
            if constexpr (IsDataTypeDecimal<DataType>) {
763
9
                if (column_result.type->is_nullable()) {
764
9
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
9
                                column_result.type)) {
766
9
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
9
                    } else {
768
9
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
9
                                               "Illegal nullable column");
770
9
                    }
771
9
                } else {
772
9
                    result_scale = column_result.type->get_scale();
773
9
                }
774
9
            }
775
776
9
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
9
                if (arguments.size() == 1 ||
778
9
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
9
                    Int16 scale_arg = 0;
781
9
                    if (arguments.size() == 2) {
782
9
                        RETURN_IF_ERROR(
783
9
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
9
                    }
785
786
9
                    res = Dispatcher<DataType::PType, rounding_mode,
787
9
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
9
                                                                         result_scale);
789
9
                } else {
790
                    // the SECOND arugment is COLUMN
791
9
                    if (is_col_general_const) {
792
9
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
9
                                apply_const_vec(
794
9
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
9
                                        block.get_by_position(arguments[1]).column.get(),
796
9
                                        result_scale);
797
9
                    } else {
798
9
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
9
                                apply_vec_vec(col_general,
800
9
                                              block.get_by_position(arguments[1]).column.get(),
801
9
                                              result_scale);
802
9
                    }
803
9
                }
804
9
                return true;
805
9
            }
806
807
9
            return false;
808
9
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
9
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
9
        column_result.column = std::move(res);
826
9
        return Status::OK();
827
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
737
69
                        uint32_t result, size_t input_rows_count) const override {
738
69
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
69
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
69
        const DataTypePtr result_type = block.get_by_position(result).type;
741
69
        const bool is_col_general_const = is_column_const(*column_general.column);
742
69
        const auto* col_general = is_col_general_const
743
69
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
15
                                                    .get_data_column_ptr()
745
15
                                                    .get()
746
69
                                          : column_general.column.get();
747
69
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
69
        auto call = [&](const auto& types) -> bool {
756
69
            using Types = std::decay_t<decltype(types)>;
757
69
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
69
            Int16 result_scale = 0;
762
69
            if constexpr (IsDataTypeDecimal<DataType>) {
763
69
                if (column_result.type->is_nullable()) {
764
69
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
69
                                column_result.type)) {
766
69
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
69
                    } else {
768
69
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
69
                                               "Illegal nullable column");
770
69
                    }
771
69
                } else {
772
69
                    result_scale = column_result.type->get_scale();
773
69
                }
774
69
            }
775
776
69
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
69
                if (arguments.size() == 1 ||
778
69
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
69
                    Int16 scale_arg = 0;
781
69
                    if (arguments.size() == 2) {
782
69
                        RETURN_IF_ERROR(
783
69
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
69
                    }
785
786
69
                    res = Dispatcher<DataType::PType, rounding_mode,
787
69
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
69
                                                                         result_scale);
789
69
                } else {
790
                    // the SECOND arugment is COLUMN
791
69
                    if (is_col_general_const) {
792
69
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
69
                                apply_const_vec(
794
69
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
69
                                        block.get_by_position(arguments[1]).column.get(),
796
69
                                        result_scale);
797
69
                    } else {
798
69
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
69
                                apply_vec_vec(col_general,
800
69
                                              block.get_by_position(arguments[1]).column.get(),
801
69
                                              result_scale);
802
69
                    }
803
69
                }
804
69
                return true;
805
69
            }
806
807
69
            return false;
808
69
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
69
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
69
        column_result.column = std::move(res);
826
69
        return Status::OK();
827
69
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
181
                        uint32_t result, size_t input_rows_count) const override {
738
181
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
181
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
181
        const DataTypePtr result_type = block.get_by_position(result).type;
741
181
        const bool is_col_general_const = is_column_const(*column_general.column);
742
181
        const auto* col_general = is_col_general_const
743
181
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
75
                                                    .get_data_column_ptr()
745
75
                                                    .get()
746
181
                                          : column_general.column.get();
747
181
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
181
        auto call = [&](const auto& types) -> bool {
756
181
            using Types = std::decay_t<decltype(types)>;
757
181
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
181
            Int16 result_scale = 0;
762
181
            if constexpr (IsDataTypeDecimal<DataType>) {
763
181
                if (column_result.type->is_nullable()) {
764
181
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
181
                                column_result.type)) {
766
181
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
181
                    } else {
768
181
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
181
                                               "Illegal nullable column");
770
181
                    }
771
181
                } else {
772
181
                    result_scale = column_result.type->get_scale();
773
181
                }
774
181
            }
775
776
181
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
181
                if (arguments.size() == 1 ||
778
181
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
181
                    Int16 scale_arg = 0;
781
181
                    if (arguments.size() == 2) {
782
181
                        RETURN_IF_ERROR(
783
181
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
181
                    }
785
786
181
                    res = Dispatcher<DataType::PType, rounding_mode,
787
181
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
181
                                                                         result_scale);
789
181
                } else {
790
                    // the SECOND arugment is COLUMN
791
181
                    if (is_col_general_const) {
792
181
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
181
                                apply_const_vec(
794
181
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
181
                                        block.get_by_position(arguments[1]).column.get(),
796
181
                                        result_scale);
797
181
                    } else {
798
181
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
181
                                apply_vec_vec(col_general,
800
181
                                              block.get_by_position(arguments[1]).column.get(),
801
181
                                              result_scale);
802
181
                    }
803
181
                }
804
181
                return true;
805
181
            }
806
807
181
            return false;
808
181
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
181
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
181
        column_result.column = std::move(res);
826
181
        return Status::OK();
827
181
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
62
                        uint32_t result, size_t input_rows_count) const override {
738
62
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
62
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
62
        const DataTypePtr result_type = block.get_by_position(result).type;
741
62
        const bool is_col_general_const = is_column_const(*column_general.column);
742
62
        const auto* col_general = is_col_general_const
743
62
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
16
                                                    .get_data_column_ptr()
745
16
                                                    .get()
746
62
                                          : column_general.column.get();
747
62
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
62
        auto call = [&](const auto& types) -> bool {
756
62
            using Types = std::decay_t<decltype(types)>;
757
62
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
62
            Int16 result_scale = 0;
762
62
            if constexpr (IsDataTypeDecimal<DataType>) {
763
62
                if (column_result.type->is_nullable()) {
764
62
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
62
                                column_result.type)) {
766
62
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
62
                    } else {
768
62
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
62
                                               "Illegal nullable column");
770
62
                    }
771
62
                } else {
772
62
                    result_scale = column_result.type->get_scale();
773
62
                }
774
62
            }
775
776
62
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
62
                if (arguments.size() == 1 ||
778
62
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
62
                    Int16 scale_arg = 0;
781
62
                    if (arguments.size() == 2) {
782
62
                        RETURN_IF_ERROR(
783
62
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
62
                    }
785
786
62
                    res = Dispatcher<DataType::PType, rounding_mode,
787
62
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
62
                                                                         result_scale);
789
62
                } else {
790
                    // the SECOND arugment is COLUMN
791
62
                    if (is_col_general_const) {
792
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
62
                                apply_const_vec(
794
62
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
62
                                        block.get_by_position(arguments[1]).column.get(),
796
62
                                        result_scale);
797
62
                    } else {
798
62
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
62
                                apply_vec_vec(col_general,
800
62
                                              block.get_by_position(arguments[1]).column.get(),
801
62
                                              result_scale);
802
62
                    }
803
62
                }
804
62
                return true;
805
62
            }
806
807
62
            return false;
808
62
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
62
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
62
        column_result.column = std::move(res);
826
62
        return Status::OK();
827
62
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
182
                        uint32_t result, size_t input_rows_count) const override {
738
182
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
182
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
182
        const DataTypePtr result_type = block.get_by_position(result).type;
741
182
        const bool is_col_general_const = is_column_const(*column_general.column);
742
182
        const auto* col_general = is_col_general_const
743
182
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
75
                                                    .get_data_column_ptr()
745
75
                                                    .get()
746
182
                                          : column_general.column.get();
747
182
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
182
        auto call = [&](const auto& types) -> bool {
756
182
            using Types = std::decay_t<decltype(types)>;
757
182
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
182
            Int16 result_scale = 0;
762
182
            if constexpr (IsDataTypeDecimal<DataType>) {
763
182
                if (column_result.type->is_nullable()) {
764
182
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
182
                                column_result.type)) {
766
182
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
182
                    } else {
768
182
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
182
                                               "Illegal nullable column");
770
182
                    }
771
182
                } else {
772
182
                    result_scale = column_result.type->get_scale();
773
182
                }
774
182
            }
775
776
182
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
182
                if (arguments.size() == 1 ||
778
182
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
182
                    Int16 scale_arg = 0;
781
182
                    if (arguments.size() == 2) {
782
182
                        RETURN_IF_ERROR(
783
182
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
182
                    }
785
786
182
                    res = Dispatcher<DataType::PType, rounding_mode,
787
182
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
182
                                                                         result_scale);
789
182
                } else {
790
                    // the SECOND arugment is COLUMN
791
182
                    if (is_col_general_const) {
792
182
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
182
                                apply_const_vec(
794
182
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
182
                                        block.get_by_position(arguments[1]).column.get(),
796
182
                                        result_scale);
797
182
                    } else {
798
182
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
182
                                apply_vec_vec(col_general,
800
182
                                              block.get_by_position(arguments[1]).column.get(),
801
182
                                              result_scale);
802
182
                    }
803
182
                }
804
182
                return true;
805
182
            }
806
807
182
            return false;
808
182
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
182
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
182
        column_result.column = std::move(res);
826
182
        return Status::OK();
827
182
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
52
                        uint32_t result, size_t input_rows_count) const override {
738
52
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
52
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
52
        const DataTypePtr result_type = block.get_by_position(result).type;
741
52
        const bool is_col_general_const = is_column_const(*column_general.column);
742
52
        const auto* col_general = is_col_general_const
743
52
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
15
                                                    .get_data_column_ptr()
745
15
                                                    .get()
746
52
                                          : column_general.column.get();
747
52
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
52
        auto call = [&](const auto& types) -> bool {
756
52
            using Types = std::decay_t<decltype(types)>;
757
52
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
52
            Int16 result_scale = 0;
762
52
            if constexpr (IsDataTypeDecimal<DataType>) {
763
52
                if (column_result.type->is_nullable()) {
764
52
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
52
                                column_result.type)) {
766
52
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
52
                    } else {
768
52
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
52
                                               "Illegal nullable column");
770
52
                    }
771
52
                } else {
772
52
                    result_scale = column_result.type->get_scale();
773
52
                }
774
52
            }
775
776
52
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
52
                if (arguments.size() == 1 ||
778
52
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
52
                    Int16 scale_arg = 0;
781
52
                    if (arguments.size() == 2) {
782
52
                        RETURN_IF_ERROR(
783
52
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
52
                    }
785
786
52
                    res = Dispatcher<DataType::PType, rounding_mode,
787
52
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
52
                                                                         result_scale);
789
52
                } else {
790
                    // the SECOND arugment is COLUMN
791
52
                    if (is_col_general_const) {
792
52
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
52
                                apply_const_vec(
794
52
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
52
                                        block.get_by_position(arguments[1]).column.get(),
796
52
                                        result_scale);
797
52
                    } else {
798
52
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
52
                                apply_vec_vec(col_general,
800
52
                                              block.get_by_position(arguments[1]).column.get(),
801
52
                                              result_scale);
802
52
                    }
803
52
                }
804
52
                return true;
805
52
            }
806
807
52
            return false;
808
52
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
52
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
52
        column_result.column = std::move(res);
826
52
        return Status::OK();
827
52
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
48
                        uint32_t result, size_t input_rows_count) const override {
738
48
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
48
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
48
        const DataTypePtr result_type = block.get_by_position(result).type;
741
48
        const bool is_col_general_const = is_column_const(*column_general.column);
742
48
        const auto* col_general = is_col_general_const
743
48
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
14
                                                    .get_data_column_ptr()
745
14
                                                    .get()
746
48
                                          : column_general.column.get();
747
48
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
48
        auto call = [&](const auto& types) -> bool {
756
48
            using Types = std::decay_t<decltype(types)>;
757
48
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
48
            Int16 result_scale = 0;
762
48
            if constexpr (IsDataTypeDecimal<DataType>) {
763
48
                if (column_result.type->is_nullable()) {
764
48
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
48
                                column_result.type)) {
766
48
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
48
                    } else {
768
48
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
48
                                               "Illegal nullable column");
770
48
                    }
771
48
                } else {
772
48
                    result_scale = column_result.type->get_scale();
773
48
                }
774
48
            }
775
776
48
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
48
                if (arguments.size() == 1 ||
778
48
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
48
                    Int16 scale_arg = 0;
781
48
                    if (arguments.size() == 2) {
782
48
                        RETURN_IF_ERROR(
783
48
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
48
                    }
785
786
48
                    res = Dispatcher<DataType::PType, rounding_mode,
787
48
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
48
                                                                         result_scale);
789
48
                } else {
790
                    // the SECOND arugment is COLUMN
791
48
                    if (is_col_general_const) {
792
48
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
48
                                apply_const_vec(
794
48
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
48
                                        block.get_by_position(arguments[1]).column.get(),
796
48
                                        result_scale);
797
48
                    } else {
798
48
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
48
                                apply_vec_vec(col_general,
800
48
                                              block.get_by_position(arguments[1]).column.get(),
801
48
                                              result_scale);
802
48
                    }
803
48
                }
804
48
                return true;
805
48
            }
806
807
48
            return false;
808
48
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
48
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
48
        column_result.column = std::move(res);
826
48
        return Status::OK();
827
48
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
50
                        uint32_t result, size_t input_rows_count) const override {
738
50
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
50
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
50
        const DataTypePtr result_type = block.get_by_position(result).type;
741
50
        const bool is_col_general_const = is_column_const(*column_general.column);
742
50
        const auto* col_general = is_col_general_const
743
50
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
11
                                                    .get_data_column_ptr()
745
11
                                                    .get()
746
50
                                          : column_general.column.get();
747
50
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
50
        auto call = [&](const auto& types) -> bool {
756
50
            using Types = std::decay_t<decltype(types)>;
757
50
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
50
            Int16 result_scale = 0;
762
50
            if constexpr (IsDataTypeDecimal<DataType>) {
763
50
                if (column_result.type->is_nullable()) {
764
50
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
50
                                column_result.type)) {
766
50
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
50
                    } else {
768
50
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
50
                                               "Illegal nullable column");
770
50
                    }
771
50
                } else {
772
50
                    result_scale = column_result.type->get_scale();
773
50
                }
774
50
            }
775
776
50
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
50
                if (arguments.size() == 1 ||
778
50
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
50
                    Int16 scale_arg = 0;
781
50
                    if (arguments.size() == 2) {
782
50
                        RETURN_IF_ERROR(
783
50
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
50
                    }
785
786
50
                    res = Dispatcher<DataType::PType, rounding_mode,
787
50
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
50
                                                                         result_scale);
789
50
                } else {
790
                    // the SECOND arugment is COLUMN
791
50
                    if (is_col_general_const) {
792
50
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
50
                                apply_const_vec(
794
50
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
50
                                        block.get_by_position(arguments[1]).column.get(),
796
50
                                        result_scale);
797
50
                    } else {
798
50
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
50
                                apply_vec_vec(col_general,
800
50
                                              block.get_by_position(arguments[1]).column.get(),
801
50
                                              result_scale);
802
50
                    }
803
50
                }
804
50
                return true;
805
50
            }
806
807
50
            return false;
808
50
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
50
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
50
        column_result.column = std::move(res);
826
50
        return Status::OK();
827
50
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
112
                        uint32_t result, size_t input_rows_count) const override {
738
112
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
112
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
112
        const DataTypePtr result_type = block.get_by_position(result).type;
741
112
        const bool is_col_general_const = is_column_const(*column_general.column);
742
112
        const auto* col_general = is_col_general_const
743
112
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
6
                                                    .get_data_column_ptr()
745
6
                                                    .get()
746
112
                                          : column_general.column.get();
747
112
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
112
        auto call = [&](const auto& types) -> bool {
756
112
            using Types = std::decay_t<decltype(types)>;
757
112
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
112
            Int16 result_scale = 0;
762
112
            if constexpr (IsDataTypeDecimal<DataType>) {
763
112
                if (column_result.type->is_nullable()) {
764
112
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
112
                                column_result.type)) {
766
112
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
112
                    } else {
768
112
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
112
                                               "Illegal nullable column");
770
112
                    }
771
112
                } else {
772
112
                    result_scale = column_result.type->get_scale();
773
112
                }
774
112
            }
775
776
112
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
112
                if (arguments.size() == 1 ||
778
112
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
112
                    Int16 scale_arg = 0;
781
112
                    if (arguments.size() == 2) {
782
112
                        RETURN_IF_ERROR(
783
112
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
112
                    }
785
786
112
                    res = Dispatcher<DataType::PType, rounding_mode,
787
112
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
112
                                                                         result_scale);
789
112
                } else {
790
                    // the SECOND arugment is COLUMN
791
112
                    if (is_col_general_const) {
792
112
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
112
                                apply_const_vec(
794
112
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
112
                                        block.get_by_position(arguments[1]).column.get(),
796
112
                                        result_scale);
797
112
                    } else {
798
112
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
112
                                apply_vec_vec(col_general,
800
112
                                              block.get_by_position(arguments[1]).column.get(),
801
112
                                              result_scale);
802
112
                    }
803
112
                }
804
112
                return true;
805
112
            }
806
807
112
            return false;
808
112
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
112
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
112
        column_result.column = std::move(res);
826
112
        return Status::OK();
827
112
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
47
                        uint32_t result, size_t input_rows_count) const override {
738
47
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
47
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
47
        const DataTypePtr result_type = block.get_by_position(result).type;
741
47
        const bool is_col_general_const = is_column_const(*column_general.column);
742
47
        const auto* col_general = is_col_general_const
743
47
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
10
                                                    .get_data_column_ptr()
745
10
                                                    .get()
746
47
                                          : column_general.column.get();
747
47
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
47
        auto call = [&](const auto& types) -> bool {
756
47
            using Types = std::decay_t<decltype(types)>;
757
47
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
47
            Int16 result_scale = 0;
762
47
            if constexpr (IsDataTypeDecimal<DataType>) {
763
47
                if (column_result.type->is_nullable()) {
764
47
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
47
                                column_result.type)) {
766
47
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
47
                    } else {
768
47
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
47
                                               "Illegal nullable column");
770
47
                    }
771
47
                } else {
772
47
                    result_scale = column_result.type->get_scale();
773
47
                }
774
47
            }
775
776
47
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
47
                if (arguments.size() == 1 ||
778
47
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
47
                    Int16 scale_arg = 0;
781
47
                    if (arguments.size() == 2) {
782
47
                        RETURN_IF_ERROR(
783
47
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
47
                    }
785
786
47
                    res = Dispatcher<DataType::PType, rounding_mode,
787
47
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
47
                                                                         result_scale);
789
47
                } else {
790
                    // the SECOND arugment is COLUMN
791
47
                    if (is_col_general_const) {
792
47
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
47
                                apply_const_vec(
794
47
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
47
                                        block.get_by_position(arguments[1]).column.get(),
796
47
                                        result_scale);
797
47
                    } else {
798
47
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
47
                                apply_vec_vec(col_general,
800
47
                                              block.get_by_position(arguments[1]).column.get(),
801
47
                                              result_scale);
802
47
                    }
803
47
                }
804
47
                return true;
805
47
            }
806
807
47
            return false;
808
47
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
47
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
47
        column_result.column = std::move(res);
826
47
        return Status::OK();
827
47
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
32
                        uint32_t result, size_t input_rows_count) const override {
738
32
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
32
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
32
        const DataTypePtr result_type = block.get_by_position(result).type;
741
32
        const bool is_col_general_const = is_column_const(*column_general.column);
742
32
        const auto* col_general = is_col_general_const
743
32
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
6
                                                    .get_data_column_ptr()
745
6
                                                    .get()
746
32
                                          : column_general.column.get();
747
32
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
32
        auto call = [&](const auto& types) -> bool {
756
32
            using Types = std::decay_t<decltype(types)>;
757
32
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
32
            Int16 result_scale = 0;
762
32
            if constexpr (IsDataTypeDecimal<DataType>) {
763
32
                if (column_result.type->is_nullable()) {
764
32
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
32
                                column_result.type)) {
766
32
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
32
                    } else {
768
32
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
32
                                               "Illegal nullable column");
770
32
                    }
771
32
                } else {
772
32
                    result_scale = column_result.type->get_scale();
773
32
                }
774
32
            }
775
776
32
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
32
                if (arguments.size() == 1 ||
778
32
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
32
                    Int16 scale_arg = 0;
781
32
                    if (arguments.size() == 2) {
782
32
                        RETURN_IF_ERROR(
783
32
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
32
                    }
785
786
32
                    res = Dispatcher<DataType::PType, rounding_mode,
787
32
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
32
                                                                         result_scale);
789
32
                } else {
790
                    // the SECOND arugment is COLUMN
791
32
                    if (is_col_general_const) {
792
32
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
32
                                apply_const_vec(
794
32
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
32
                                        block.get_by_position(arguments[1]).column.get(),
796
32
                                        result_scale);
797
32
                    } else {
798
32
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
32
                                apply_vec_vec(col_general,
800
32
                                              block.get_by_position(arguments[1]).column.get(),
801
32
                                              result_scale);
802
32
                    }
803
32
                }
804
32
                return true;
805
32
            }
806
807
32
            return false;
808
32
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
32
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
32
        column_result.column = std::move(res);
826
32
        return Status::OK();
827
32
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
22
                        uint32_t result, size_t input_rows_count) const override {
738
22
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
22
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
22
        const DataTypePtr result_type = block.get_by_position(result).type;
741
22
        const bool is_col_general_const = is_column_const(*column_general.column);
742
22
        const auto* col_general = is_col_general_const
743
22
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
22
                                          : column_general.column.get();
747
22
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
22
        auto call = [&](const auto& types) -> bool {
756
22
            using Types = std::decay_t<decltype(types)>;
757
22
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
22
            Int16 result_scale = 0;
762
22
            if constexpr (IsDataTypeDecimal<DataType>) {
763
22
                if (column_result.type->is_nullable()) {
764
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
22
                                column_result.type)) {
766
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
22
                    } else {
768
22
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
22
                                               "Illegal nullable column");
770
22
                    }
771
22
                } else {
772
22
                    result_scale = column_result.type->get_scale();
773
22
                }
774
22
            }
775
776
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
22
                if (arguments.size() == 1 ||
778
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
22
                    Int16 scale_arg = 0;
781
22
                    if (arguments.size() == 2) {
782
22
                        RETURN_IF_ERROR(
783
22
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
22
                    }
785
786
22
                    res = Dispatcher<DataType::PType, rounding_mode,
787
22
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
22
                                                                         result_scale);
789
22
                } else {
790
                    // the SECOND arugment is COLUMN
791
22
                    if (is_col_general_const) {
792
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
22
                                apply_const_vec(
794
22
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
22
                                        block.get_by_position(arguments[1]).column.get(),
796
22
                                        result_scale);
797
22
                    } else {
798
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
22
                                apply_vec_vec(col_general,
800
22
                                              block.get_by_position(arguments[1]).column.get(),
801
22
                                              result_scale);
802
22
                    }
803
22
                }
804
22
                return true;
805
22
            }
806
807
22
            return false;
808
22
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
22
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
22
        column_result.column = std::move(res);
826
22
        return Status::OK();
827
22
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
30
                        uint32_t result, size_t input_rows_count) const override {
738
30
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
30
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
30
        const DataTypePtr result_type = block.get_by_position(result).type;
741
30
        const bool is_col_general_const = is_column_const(*column_general.column);
742
30
        const auto* col_general = is_col_general_const
743
30
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
1
                                                    .get_data_column_ptr()
745
1
                                                    .get()
746
30
                                          : column_general.column.get();
747
30
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
30
        auto call = [&](const auto& types) -> bool {
756
30
            using Types = std::decay_t<decltype(types)>;
757
30
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
30
            Int16 result_scale = 0;
762
30
            if constexpr (IsDataTypeDecimal<DataType>) {
763
30
                if (column_result.type->is_nullable()) {
764
30
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
30
                                column_result.type)) {
766
30
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
30
                    } else {
768
30
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
30
                                               "Illegal nullable column");
770
30
                    }
771
30
                } else {
772
30
                    result_scale = column_result.type->get_scale();
773
30
                }
774
30
            }
775
776
30
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
30
                if (arguments.size() == 1 ||
778
30
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
30
                    Int16 scale_arg = 0;
781
30
                    if (arguments.size() == 2) {
782
30
                        RETURN_IF_ERROR(
783
30
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
30
                    }
785
786
30
                    res = Dispatcher<DataType::PType, rounding_mode,
787
30
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
30
                                                                         result_scale);
789
30
                } else {
790
                    // the SECOND arugment is COLUMN
791
30
                    if (is_col_general_const) {
792
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
30
                                apply_const_vec(
794
30
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
30
                                        block.get_by_position(arguments[1]).column.get(),
796
30
                                        result_scale);
797
30
                    } else {
798
30
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
30
                                apply_vec_vec(col_general,
800
30
                                              block.get_by_position(arguments[1]).column.get(),
801
30
                                              result_scale);
802
30
                    }
803
30
                }
804
30
                return true;
805
30
            }
806
807
30
            return false;
808
30
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
30
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
30
        column_result.column = std::move(res);
826
30
        return Status::OK();
827
30
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
165
                        uint32_t result, size_t input_rows_count) const override {
738
165
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
165
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
165
        const DataTypePtr result_type = block.get_by_position(result).type;
741
165
        const bool is_col_general_const = is_column_const(*column_general.column);
742
165
        const auto* col_general = is_col_general_const
743
165
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
165
                                          : column_general.column.get();
747
165
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
165
        auto call = [&](const auto& types) -> bool {
756
165
            using Types = std::decay_t<decltype(types)>;
757
165
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
165
            Int16 result_scale = 0;
762
165
            if constexpr (IsDataTypeDecimal<DataType>) {
763
165
                if (column_result.type->is_nullable()) {
764
165
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
165
                                column_result.type)) {
766
165
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
165
                    } else {
768
165
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
165
                                               "Illegal nullable column");
770
165
                    }
771
165
                } else {
772
165
                    result_scale = column_result.type->get_scale();
773
165
                }
774
165
            }
775
776
165
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
165
                if (arguments.size() == 1 ||
778
165
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
165
                    Int16 scale_arg = 0;
781
165
                    if (arguments.size() == 2) {
782
165
                        RETURN_IF_ERROR(
783
165
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
165
                    }
785
786
165
                    res = Dispatcher<DataType::PType, rounding_mode,
787
165
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
165
                                                                         result_scale);
789
165
                } else {
790
                    // the SECOND arugment is COLUMN
791
165
                    if (is_col_general_const) {
792
165
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
165
                                apply_const_vec(
794
165
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
165
                                        block.get_by_position(arguments[1]).column.get(),
796
165
                                        result_scale);
797
165
                    } else {
798
165
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
165
                                apply_vec_vec(col_general,
800
165
                                              block.get_by_position(arguments[1]).column.get(),
801
165
                                              result_scale);
802
165
                    }
803
165
                }
804
165
                return true;
805
165
            }
806
807
165
            return false;
808
165
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
165
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
165
        column_result.column = std::move(res);
826
165
        return Status::OK();
827
165
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
28
                        uint32_t result, size_t input_rows_count) const override {
738
28
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
28
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
28
        const DataTypePtr result_type = block.get_by_position(result).type;
741
28
        const bool is_col_general_const = is_column_const(*column_general.column);
742
28
        const auto* col_general = is_col_general_const
743
28
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
1
                                                    .get_data_column_ptr()
745
1
                                                    .get()
746
28
                                          : column_general.column.get();
747
28
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
28
        auto call = [&](const auto& types) -> bool {
756
28
            using Types = std::decay_t<decltype(types)>;
757
28
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
28
            Int16 result_scale = 0;
762
28
            if constexpr (IsDataTypeDecimal<DataType>) {
763
28
                if (column_result.type->is_nullable()) {
764
28
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
28
                                column_result.type)) {
766
28
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
28
                    } else {
768
28
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
28
                                               "Illegal nullable column");
770
28
                    }
771
28
                } else {
772
28
                    result_scale = column_result.type->get_scale();
773
28
                }
774
28
            }
775
776
28
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
28
                if (arguments.size() == 1 ||
778
28
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
28
                    Int16 scale_arg = 0;
781
28
                    if (arguments.size() == 2) {
782
28
                        RETURN_IF_ERROR(
783
28
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
28
                    }
785
786
28
                    res = Dispatcher<DataType::PType, rounding_mode,
787
28
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
28
                                                                         result_scale);
789
28
                } else {
790
                    // the SECOND arugment is COLUMN
791
28
                    if (is_col_general_const) {
792
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
28
                                apply_const_vec(
794
28
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
28
                                        block.get_by_position(arguments[1]).column.get(),
796
28
                                        result_scale);
797
28
                    } else {
798
28
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
28
                                apply_vec_vec(col_general,
800
28
                                              block.get_by_position(arguments[1]).column.get(),
801
28
                                              result_scale);
802
28
                    }
803
28
                }
804
28
                return true;
805
28
            }
806
807
28
            return false;
808
28
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
28
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
28
        column_result.column = std::move(res);
826
28
        return Status::OK();
827
28
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
22
                        uint32_t result, size_t input_rows_count) const override {
738
22
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
22
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
22
        const DataTypePtr result_type = block.get_by_position(result).type;
741
22
        const bool is_col_general_const = is_column_const(*column_general.column);
742
22
        const auto* col_general = is_col_general_const
743
22
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
22
                                          : column_general.column.get();
747
22
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
22
        auto call = [&](const auto& types) -> bool {
756
22
            using Types = std::decay_t<decltype(types)>;
757
22
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
22
            Int16 result_scale = 0;
762
22
            if constexpr (IsDataTypeDecimal<DataType>) {
763
22
                if (column_result.type->is_nullable()) {
764
22
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
22
                                column_result.type)) {
766
22
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
22
                    } else {
768
22
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
22
                                               "Illegal nullable column");
770
22
                    }
771
22
                } else {
772
22
                    result_scale = column_result.type->get_scale();
773
22
                }
774
22
            }
775
776
22
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
22
                if (arguments.size() == 1 ||
778
22
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
22
                    Int16 scale_arg = 0;
781
22
                    if (arguments.size() == 2) {
782
22
                        RETURN_IF_ERROR(
783
22
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
22
                    }
785
786
22
                    res = Dispatcher<DataType::PType, rounding_mode,
787
22
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
22
                                                                         result_scale);
789
22
                } else {
790
                    // the SECOND arugment is COLUMN
791
22
                    if (is_col_general_const) {
792
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
22
                                apply_const_vec(
794
22
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
22
                                        block.get_by_position(arguments[1]).column.get(),
796
22
                                        result_scale);
797
22
                    } else {
798
22
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
22
                                apply_vec_vec(col_general,
800
22
                                              block.get_by_position(arguments[1]).column.get(),
801
22
                                              result_scale);
802
22
                    }
803
22
                }
804
22
                return true;
805
22
            }
806
807
22
            return false;
808
22
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
22
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
22
        column_result.column = std::move(res);
826
22
        return Status::OK();
827
22
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
1
                        uint32_t result, size_t input_rows_count) const override {
738
1
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
1
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
1
        const DataTypePtr result_type = block.get_by_position(result).type;
741
1
        const bool is_col_general_const = is_column_const(*column_general.column);
742
1
        const auto* col_general = is_col_general_const
743
1
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
1
                                          : column_general.column.get();
747
1
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
1
        auto call = [&](const auto& types) -> bool {
756
1
            using Types = std::decay_t<decltype(types)>;
757
1
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
1
            Int16 result_scale = 0;
762
1
            if constexpr (IsDataTypeDecimal<DataType>) {
763
1
                if (column_result.type->is_nullable()) {
764
1
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
1
                                column_result.type)) {
766
1
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
1
                    } else {
768
1
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
1
                                               "Illegal nullable column");
770
1
                    }
771
1
                } else {
772
1
                    result_scale = column_result.type->get_scale();
773
1
                }
774
1
            }
775
776
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
1
                if (arguments.size() == 1 ||
778
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
1
                    Int16 scale_arg = 0;
781
1
                    if (arguments.size() == 2) {
782
1
                        RETURN_IF_ERROR(
783
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
1
                    }
785
786
1
                    res = Dispatcher<DataType::PType, rounding_mode,
787
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
1
                                                                         result_scale);
789
1
                } else {
790
                    // the SECOND arugment is COLUMN
791
1
                    if (is_col_general_const) {
792
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
1
                                apply_const_vec(
794
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
1
                                        block.get_by_position(arguments[1]).column.get(),
796
1
                                        result_scale);
797
1
                    } else {
798
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
1
                                apply_vec_vec(col_general,
800
1
                                              block.get_by_position(arguments[1]).column.get(),
801
1
                                              result_scale);
802
1
                    }
803
1
                }
804
1
                return true;
805
1
            }
806
807
1
            return false;
808
1
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
1
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
1
        column_result.column = std::move(res);
826
1
        return Status::OK();
827
1
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
4
                        uint32_t result, size_t input_rows_count) const override {
738
4
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
4
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
4
        const DataTypePtr result_type = block.get_by_position(result).type;
741
4
        const bool is_col_general_const = is_column_const(*column_general.column);
742
4
        const auto* col_general = is_col_general_const
743
4
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
4
                                          : column_general.column.get();
747
4
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
4
        auto call = [&](const auto& types) -> bool {
756
4
            using Types = std::decay_t<decltype(types)>;
757
4
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
4
            Int16 result_scale = 0;
762
4
            if constexpr (IsDataTypeDecimal<DataType>) {
763
4
                if (column_result.type->is_nullable()) {
764
4
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
4
                                column_result.type)) {
766
4
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
4
                    } else {
768
4
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
4
                                               "Illegal nullable column");
770
4
                    }
771
4
                } else {
772
4
                    result_scale = column_result.type->get_scale();
773
4
                }
774
4
            }
775
776
4
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
4
                if (arguments.size() == 1 ||
778
4
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
4
                    Int16 scale_arg = 0;
781
4
                    if (arguments.size() == 2) {
782
4
                        RETURN_IF_ERROR(
783
4
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
4
                    }
785
786
4
                    res = Dispatcher<DataType::PType, rounding_mode,
787
4
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
4
                                                                         result_scale);
789
4
                } else {
790
                    // the SECOND arugment is COLUMN
791
4
                    if (is_col_general_const) {
792
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
4
                                apply_const_vec(
794
4
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
4
                                        block.get_by_position(arguments[1]).column.get(),
796
4
                                        result_scale);
797
4
                    } else {
798
4
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
4
                                apply_vec_vec(col_general,
800
4
                                              block.get_by_position(arguments[1]).column.get(),
801
4
                                              result_scale);
802
4
                    }
803
4
                }
804
4
                return true;
805
4
            }
806
807
4
            return false;
808
4
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
4
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
4
        column_result.column = std::move(res);
826
4
        return Status::OK();
827
4
    }
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
737
1
                        uint32_t result, size_t input_rows_count) const override {
738
1
        const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]);
739
1
        ColumnWithTypeAndName& column_result = block.get_by_position(result);
740
1
        const DataTypePtr result_type = block.get_by_position(result).type;
741
1
        const bool is_col_general_const = is_column_const(*column_general.column);
742
1
        const auto* col_general = is_col_general_const
743
1
                                          ? assert_cast<const ColumnConst&>(*column_general.column)
744
0
                                                    .get_data_column_ptr()
745
0
                                                    .get()
746
1
                                          : column_general.column.get();
747
1
        ColumnPtr res;
748
749
        /// potential argument types:
750
        /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type:
751
        ///    1. func(Column), func(Column, ColumnConst)
752
        /// otherwise, the SECOND arugment is COLUMN, we have another type:
753
        ///    2. func(Column, Column), func(ColumnConst, Column)
754
755
1
        auto call = [&](const auto& types) -> bool {
756
1
            using Types = std::decay_t<decltype(types)>;
757
1
            using DataType = typename Types::LeftType;
758
759
            // For decimal, we will always make sure result Decimal has exactly same precision and scale with
760
            // arguments from query plan.
761
1
            Int16 result_scale = 0;
762
1
            if constexpr (IsDataTypeDecimal<DataType>) {
763
1
                if (column_result.type->is_nullable()) {
764
1
                    if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>(
765
1
                                column_result.type)) {
766
1
                        result_scale = nullable_type->get_nested_type()->get_scale();
767
1
                    } else {
768
1
                        throw doris::Exception(ErrorCode::INTERNAL_ERROR,
769
1
                                               "Illegal nullable column");
770
1
                    }
771
1
                } else {
772
1
                    result_scale = column_result.type->get_scale();
773
1
                }
774
1
            }
775
776
1
            if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) {
777
1
                if (arguments.size() == 1 ||
778
1
                    is_column_const(*block.get_by_position(arguments[1]).column)) {
779
                    // the SECOND argument is MISSING or CONST
780
1
                    Int16 scale_arg = 0;
781
1
                    if (arguments.size() == 2) {
782
1
                        RETURN_IF_ERROR(
783
1
                                get_scale_arg(block.get_by_position(arguments[1]), &scale_arg));
784
1
                    }
785
786
1
                    res = Dispatcher<DataType::PType, rounding_mode,
787
1
                                     tie_breaking_mode>::apply_vec_const(col_general, scale_arg,
788
1
                                                                         result_scale);
789
1
                } else {
790
                    // the SECOND arugment is COLUMN
791
1
                    if (is_col_general_const) {
792
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
793
1
                                apply_const_vec(
794
1
                                        &assert_cast<const ColumnConst&>(*column_general.column),
795
1
                                        block.get_by_position(arguments[1]).column.get(),
796
1
                                        result_scale);
797
1
                    } else {
798
1
                        res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>::
799
1
                                apply_vec_vec(col_general,
800
1
                                              block.get_by_position(arguments[1]).column.get(),
801
1
                                              result_scale);
802
1
                    }
803
1
                }
804
1
                return true;
805
1
            }
806
807
1
            return false;
808
1
        };
809
810
#if !defined(__SSE4_1__) && !defined(__aarch64__)
811
        /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding.
812
        /// Actually it is by default. But we will set it just in case.
813
        if constexpr (rounding_mode == RoundingMode::Round) {
814
            if (0 != fesetround(FE_TONEAREST)) {
815
                return Status::InvalidArgument("Cannot set floating point rounding mode");
816
            }
817
        }
818
#endif
819
820
1
        if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) {
821
0
            return Status::InvalidArgument("Invalid argument type {} for function {}",
822
0
                                           column_general.type->get_name(), name);
823
0
        }
824
825
1
        column_result.column = std::move(res);
826
1
        return Status::OK();
827
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
828
};
829
830
struct TruncateName {
831
    static constexpr auto name = "truncate";
832
};
833
834
struct FloorName {
835
    static constexpr auto name = "floor";
836
};
837
838
struct CeilName {
839
    static constexpr auto name = "ceil";
840
};
841
842
struct RoundName {
843
    static constexpr auto name = "round";
844
};
845
846
struct RoundBankersName {
847
    static constexpr auto name = "round_bankers";
848
};
849
850
/// round(double,int32)-->double
851
/// key_str:roundFloat64Int32
852
template <typename Name>
853
struct DoubleRoundTwoImpl {
854
    static constexpr auto name = Name::name;
855
856
40
    static DataTypes get_variadic_argument_types() {
857
40
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
40
    }
_ZN5doris18DoubleRoundTwoImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
856
8
    static DataTypes get_variadic_argument_types() {
857
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris18DoubleRoundTwoImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
856
8
    static DataTypes get_variadic_argument_types() {
857
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris18DoubleRoundTwoImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
856
8
    static DataTypes get_variadic_argument_types() {
857
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris18DoubleRoundTwoImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
856
8
    static DataTypes get_variadic_argument_types() {
857
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
8
    }
_ZN5doris18DoubleRoundTwoImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
856
8
    static DataTypes get_variadic_argument_types() {
857
8
        return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()};
858
8
    }
859
};
860
861
template <typename Name>
862
struct DoubleRoundOneImpl {
863
    static constexpr auto name = Name::name;
864
865
40
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_12TruncateNameEE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9FloorNameEE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_9RoundNameEE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_8CeilNameEE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
_ZN5doris18DoubleRoundOneImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv
Line
Count
Source
865
8
    static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }
866
};
867
868
template <typename Name, PrimitiveType Type>
869
struct DecimalRoundTwoImpl {
870
    static constexpr auto name = Name::name;
871
872
160
    static DataTypes get_variadic_argument_types() {
873
160
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
160
                std::make_shared<DataTypeInt32>()};
875
160
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
872
8
    static DataTypes get_variadic_argument_types() {
873
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
874
8
                std::make_shared<DataTypeInt32>()};
875
8
    }
876
};
877
878
template <typename Name, PrimitiveType Type>
879
struct DecimalRoundOneImpl {
880
    static constexpr auto name = Name::name;
881
882
160
    static DataTypes get_variadic_argument_types() {
883
160
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
160
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv
Line
Count
Source
882
8
    static DataTypes get_variadic_argument_types() {
883
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
884
8
    }
885
};
886
#include "common/compile_check_avoid_end.h"
887
} // namespace doris