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 | | /// Integer overflow is Ok. |
112 | 4.74k | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { |
113 | 4.74k | if constexpr (rounding_mode == RoundingMode::Trunc) { |
114 | 544 | return target_scale > 1 ? x / scale * target_scale : x / scale; |
115 | 544 | } |
116 | 1.73k | if constexpr (rounding_mode == RoundingMode::Floor) { |
117 | 1.73k | if (x < 0) { |
118 | 3 | x -= scale - 1; |
119 | 3 | } |
120 | 1.73k | return target_scale > 1 ? x / scale * target_scale : x / scale; |
121 | 1.73k | } |
122 | 779 | if constexpr (rounding_mode == RoundingMode::Ceil) { |
123 | 779 | if (x >= 0) { |
124 | 771 | x += scale - 1; |
125 | 771 | } |
126 | 779 | return target_scale > 1 ? x / scale * target_scale : x / scale; |
127 | 779 | } |
128 | 1.68k | if constexpr (rounding_mode == RoundingMode::Round) { |
129 | 1.68k | if (x < 0) { |
130 | 7 | x -= scale; |
131 | 7 | } |
132 | 1.68k | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { |
133 | 1.07k | x = (x + scale / 2) / scale; |
134 | 1.07k | } |
135 | 1.68k | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { |
136 | 613 | T quotient = (x + scale / 2) / scale; |
137 | 613 | if (quotient * scale == x + scale / 2) { |
138 | | // round half to even |
139 | 18 | x = (quotient + (x < 0)) & ~1; |
140 | 595 | } else { |
141 | | // round the others as usual |
142 | 595 | x = quotient; |
143 | 595 | } |
144 | 613 | } |
145 | 1.68k | return target_scale > 1 ? x * target_scale : x; |
146 | 1.68k | } |
147 | 4.74k | } 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 | 112 | 288 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | 288 | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | 288 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | 288 | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 288 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll Line | Count | Source | 112 | 225 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | 225 | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | 225 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | 225 | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 225 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn Line | Count | Source | 112 | 31 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | 31 | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | 31 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | 31 | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 31 | } |
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 | 112 | 351 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | 351 | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | 351 | if (x < 0) { | 118 | 0 | x -= scale - 1; | 119 | 0 | } | 120 | 351 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | 351 | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 351 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll Line | Count | Source | 112 | 1.27k | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | 1.27k | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | 1.27k | if (x < 0) { | 118 | 0 | x -= scale - 1; | 119 | 0 | } | 120 | 1.27k | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | 1.27k | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 1.27k | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn Line | Count | Source | 112 | 116 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | 116 | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | 116 | if (x < 0) { | 118 | 3 | x -= scale - 1; | 119 | 3 | } | 120 | 116 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | 116 | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 116 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_ 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 | 112 | 353 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 353 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 353 | if (x < 0) { | 130 | 0 | x -= scale; | 131 | 0 | } | 132 | 353 | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | 353 | x = (x + scale / 2) / scale; | 134 | 353 | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | 353 | return target_scale > 1 ? x * target_scale : x; | 146 | 353 | } | 147 | 353 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll Line | Count | Source | 112 | 304 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 304 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 304 | if (x < 0) { | 130 | 0 | x -= scale; | 131 | 0 | } | 132 | 304 | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | 304 | x = (x + scale / 2) / scale; | 134 | 304 | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | 304 | return target_scale > 1 ? x * target_scale : x; | 146 | 304 | } | 147 | 304 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn Line | Count | Source | 112 | 415 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 415 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 415 | if (x < 0) { | 130 | 3 | x -= scale; | 131 | 3 | } | 132 | 415 | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | 415 | x = (x + scale / 2) / scale; | 134 | 415 | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | 415 | return target_scale > 1 ? x * target_scale : x; | 146 | 415 | } | 147 | 415 | } |
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 | 112 | 352 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | 352 | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | 352 | if (x >= 0) { | 124 | 352 | x += scale - 1; | 125 | 352 | } | 126 | 352 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | 352 | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 352 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE12compute_implElll Line | Count | Source | 112 | 304 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | 304 | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | 304 | if (x >= 0) { | 124 | 299 | x += scale - 1; | 125 | 299 | } | 126 | 304 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | 304 | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 304 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE12compute_implEnnn Line | Count | Source | 112 | 123 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | 123 | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | 123 | if (x >= 0) { | 124 | 120 | x += scale - 1; | 125 | 120 | } | 126 | 123 | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | 123 | } | 128 | | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | | if (x < 0) { | 130 | | x -= scale; | 131 | | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | | T quotient = (x + scale / 2) / scale; | 137 | | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | | x = (quotient + (x < 0)) & ~1; | 140 | | } else { | 141 | | // round the others as usual | 142 | | x = quotient; | 143 | | } | 144 | | } | 145 | | return target_scale > 1 ? x * target_scale : x; | 146 | | } | 147 | 123 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_ 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 | 112 | 315 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 315 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 315 | if (x < 0) { | 130 | 4 | x -= scale; | 131 | 4 | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | 315 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | 315 | T quotient = (x + scale / 2) / scale; | 137 | 315 | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | 11 | x = (quotient + (x < 0)) & ~1; | 140 | 304 | } else { | 141 | | // round the others as usual | 142 | 304 | x = quotient; | 143 | 304 | } | 144 | 315 | } | 145 | 315 | return target_scale > 1 ? x * target_scale : x; | 146 | 315 | } | 147 | 315 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE12compute_implElll Line | Count | Source | 112 | 239 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 239 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 239 | if (x < 0) { | 130 | 0 | x -= scale; | 131 | 0 | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | 239 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | 239 | T quotient = (x + scale / 2) / scale; | 137 | 239 | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | 4 | x = (quotient + (x < 0)) & ~1; | 140 | 235 | } else { | 141 | | // round the others as usual | 142 | 235 | x = quotient; | 143 | 235 | } | 144 | 239 | } | 145 | 239 | return target_scale > 1 ? x * target_scale : x; | 146 | 239 | } | 147 | 239 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE12compute_implEnnn Line | Count | Source | 112 | 59 | static ALWAYS_INLINE T compute_impl(T x, T scale, T target_scale) { | 113 | | if constexpr (rounding_mode == RoundingMode::Trunc) { | 114 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 115 | | } | 116 | | if constexpr (rounding_mode == RoundingMode::Floor) { | 117 | | if (x < 0) { | 118 | | x -= scale - 1; | 119 | | } | 120 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 121 | | } | 122 | | if constexpr (rounding_mode == RoundingMode::Ceil) { | 123 | | if (x >= 0) { | 124 | | x += scale - 1; | 125 | | } | 126 | | return target_scale > 1 ? x / scale * target_scale : x / scale; | 127 | | } | 128 | 59 | if constexpr (rounding_mode == RoundingMode::Round) { | 129 | 59 | if (x < 0) { | 130 | 0 | x -= scale; | 131 | 0 | } | 132 | | if constexpr (tie_breaking_mode == TieBreakingMode::Auto) { | 133 | | x = (x + scale / 2) / scale; | 134 | | } | 135 | 59 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 136 | 59 | T quotient = (x + scale / 2) / scale; | 137 | 59 | if (quotient * scale == x + scale / 2) { | 138 | | // round half to even | 139 | 3 | x = (quotient + (x < 0)) & ~1; | 140 | 56 | } else { | 141 | | // round the others as usual | 142 | 56 | x = quotient; | 143 | 56 | } | 144 | 59 | } | 145 | 59 | return target_scale > 1 ? x * target_scale : x; | 146 | 59 | } | 147 | 59 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE12compute_implES7_S7_S7_ |
148 | | |
149 | 4.74k | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { |
150 | 4.74k | if constexpr (scale_mode == ScaleMode::Negative) { |
151 | 4.74k | return compute_impl(x, scale, target_scale); |
152 | 4.74k | } |
153 | 0 | return x; |
154 | 4.74k | } 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 | 149 | 288 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 288 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 288 | return compute_impl(x, scale, target_scale); | 152 | 288 | } | 153 | 0 | return x; | 154 | 288 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll Line | Count | Source | 149 | 225 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 225 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 225 | return compute_impl(x, scale, target_scale); | 152 | 225 | } | 153 | 0 | return x; | 154 | 225 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn Line | Count | Source | 149 | 31 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 31 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 31 | return compute_impl(x, scale, target_scale); | 152 | 31 | } | 153 | 0 | return x; | 154 | 31 | } |
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 | 149 | 351 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 351 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 351 | return compute_impl(x, scale, target_scale); | 152 | 351 | } | 153 | 0 | return x; | 154 | 351 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll Line | Count | Source | 149 | 1.27k | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 1.27k | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 1.27k | return compute_impl(x, scale, target_scale); | 152 | 1.27k | } | 153 | 0 | return x; | 154 | 1.27k | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn Line | Count | Source | 149 | 116 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 116 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 116 | return compute_impl(x, scale, target_scale); | 152 | 116 | } | 153 | 0 | return x; | 154 | 116 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_ 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 | 149 | 353 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 353 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 353 | return compute_impl(x, scale, target_scale); | 152 | 353 | } | 153 | 0 | return x; | 154 | 353 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll Line | Count | Source | 149 | 304 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 304 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 304 | return compute_impl(x, scale, target_scale); | 152 | 304 | } | 153 | 0 | return x; | 154 | 304 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn Line | Count | Source | 149 | 415 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 415 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 415 | return compute_impl(x, scale, target_scale); | 152 | 415 | } | 153 | 0 | return x; | 154 | 415 | } |
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 | 149 | 352 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 352 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 352 | return compute_impl(x, scale, target_scale); | 152 | 352 | } | 153 | 0 | return x; | 154 | 352 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeElll Line | Count | Source | 149 | 304 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 304 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 304 | return compute_impl(x, scale, target_scale); | 152 | 304 | } | 153 | 0 | return x; | 154 | 304 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEnnn Line | Count | Source | 149 | 123 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 123 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 123 | return compute_impl(x, scale, target_scale); | 152 | 123 | } | 153 | 0 | return x; | 154 | 123 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeES7_S7_S7_ 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 | 149 | 315 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 315 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 315 | return compute_impl(x, scale, target_scale); | 152 | 315 | } | 153 | 0 | return x; | 154 | 315 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeElll Line | Count | Source | 149 | 239 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 239 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 239 | return compute_impl(x, scale, target_scale); | 152 | 239 | } | 153 | 0 | return x; | 154 | 239 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEnnn Line | Count | Source | 149 | 59 | static ALWAYS_INLINE T compute(T x, T scale, T target_scale) { | 150 | 59 | if constexpr (scale_mode == ScaleMode::Negative) { | 151 | 59 | return compute_impl(x, scale, target_scale); | 152 | 59 | } | 153 | 0 | return x; | 154 | 59 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeES7_S7_S7_ |
155 | | |
156 | | static ALWAYS_INLINE void compute(const T* __restrict in, U scale, T* __restrict out, |
157 | 5.36k | U target_scale) { |
158 | 5.36k | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { |
159 | 5.36k | if (scale >= std::numeric_limits<T>::max()) { |
160 | 621 | *out = 0; |
161 | 621 | return; |
162 | 621 | } |
163 | 5.36k | } |
164 | 4.74k | *out = compute(*in, scale, target_scale); |
165 | 5.36k | } 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 | 157 | 404 | U target_scale) { | 158 | 404 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 404 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 116 | *out = 0; | 161 | 116 | return; | 162 | 116 | } | 163 | 404 | } | 164 | 288 | *out = compute(*in, scale, target_scale); | 165 | 404 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll Line | Count | Source | 157 | 233 | U target_scale) { | 158 | 233 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 233 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 8 | *out = 0; | 161 | 8 | return; | 162 | 8 | } | 163 | 233 | } | 164 | 225 | *out = compute(*in, scale, target_scale); | 165 | 233 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn Line | Count | Source | 157 | 31 | U target_scale) { | 158 | 31 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 31 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 0 | *out = 0; | 161 | 0 | return; | 162 | 0 | } | 163 | 31 | } | 164 | 31 | *out = compute(*in, scale, target_scale); | 165 | 31 | } |
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 | 157 | 467 | U target_scale) { | 158 | 467 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 467 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 116 | *out = 0; | 161 | 116 | return; | 162 | 116 | } | 163 | 467 | } | 164 | 351 | *out = compute(*in, scale, target_scale); | 165 | 467 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll Line | Count | Source | 157 | 1.27k | U target_scale) { | 158 | 1.27k | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 1.27k | if (scale >= std::numeric_limits<T>::max()) { | 160 | 8 | *out = 0; | 161 | 8 | return; | 162 | 8 | } | 163 | 1.27k | } | 164 | 1.27k | *out = compute(*in, scale, target_scale); | 165 | 1.27k | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn Line | Count | Source | 157 | 116 | U target_scale) { | 158 | 116 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 116 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 0 | *out = 0; | 161 | 0 | return; | 162 | 0 | } | 163 | 116 | } | 164 | 116 | *out = compute(*in, scale, target_scale); | 165 | 116 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_ 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 | 157 | 469 | U target_scale) { | 158 | 469 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 469 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 116 | *out = 0; | 161 | 116 | return; | 162 | 116 | } | 163 | 469 | } | 164 | 353 | *out = compute(*in, scale, target_scale); | 165 | 469 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll Line | Count | Source | 157 | 312 | U target_scale) { | 158 | 312 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 312 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 8 | *out = 0; | 161 | 8 | return; | 162 | 8 | } | 163 | 312 | } | 164 | 304 | *out = compute(*in, scale, target_scale); | 165 | 312 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn Line | Count | Source | 157 | 416 | U target_scale) { | 158 | 416 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 416 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 1 | *out = 0; | 161 | 1 | return; | 162 | 1 | } | 163 | 416 | } | 164 | 415 | *out = compute(*in, scale, target_scale); | 165 | 416 | } |
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 | 157 | 468 | U target_scale) { | 158 | 468 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 468 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 116 | *out = 0; | 161 | 116 | return; | 162 | 116 | } | 163 | 468 | } | 164 | 352 | *out = compute(*in, scale, target_scale); | 165 | 468 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0ElE7computeEPKllPll Line | Count | Source | 157 | 312 | U target_scale) { | 158 | 312 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 312 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 8 | *out = 0; | 161 | 8 | return; | 162 | 8 | } | 163 | 312 | } | 164 | 304 | *out = compute(*in, scale, target_scale); | 165 | 312 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EnE7computeEPKnnPnn Line | Count | Source | 157 | 123 | U target_scale) { | 158 | 123 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 123 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 0 | *out = 0; | 161 | 0 | return; | 162 | 0 | } | 163 | 123 | } | 164 | 123 | *out = compute(*in, scale, target_scale); | 165 | 123 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_ 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 | 157 | 431 | U target_scale) { | 158 | 431 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 431 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 116 | *out = 0; | 161 | 116 | return; | 162 | 116 | } | 163 | 431 | } | 164 | 315 | *out = compute(*in, scale, target_scale); | 165 | 431 | } |
_ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1ElE7computeEPKllPll Line | Count | Source | 157 | 247 | U target_scale) { | 158 | 247 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 247 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 8 | *out = 0; | 161 | 8 | return; | 162 | 8 | } | 163 | 247 | } | 164 | 239 | *out = compute(*in, scale, target_scale); | 165 | 247 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EnE7computeEPKnnPnn Line | Count | Source | 157 | 59 | U target_scale) { | 158 | 59 | if constexpr (sizeof(T) <= sizeof(scale) && scale_mode == ScaleMode::Negative) { | 159 | 59 | if (scale >= std::numeric_limits<T>::max()) { | 160 | 0 | *out = 0; | 161 | 0 | return; | 162 | 0 | } | 163 | 59 | } | 164 | 59 | *out = compute(*in, scale, target_scale); | 165 | 59 | } |
Unexecuted instantiation: _ZN5doris26IntegerRoundingComputationILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EN4wide7integerILm256EiEEE7computeEPKS7_S7_PS7_S7_ |
166 | | }; |
167 | | |
168 | | template <PrimitiveType Type, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode> |
169 | | class DecimalRoundingImpl { |
170 | | private: |
171 | | using T = typename PrimitiveTypeTraits<Type>::CppType; |
172 | | using NativeType = typename T::NativeType; |
173 | | using Op = IntegerRoundingComputation<Type, rounding_mode, ScaleMode::Negative, |
174 | | tie_breaking_mode, NativeType>; |
175 | | using Container = typename ColumnDecimal<Type>::Container; |
176 | | |
177 | | public: |
178 | | static NO_INLINE void apply(const Container& in, UInt32 in_scale, Container& out, |
179 | 1.70k | Int16 out_scale) { |
180 | 1.70k | Int16 scale_arg = in_scale - out_scale; |
181 | 1.70k | if (scale_arg > 0) { |
182 | 816 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); |
183 | | |
184 | 816 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); |
185 | 816 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); |
186 | 816 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); |
187 | | |
188 | 816 | if (out_scale < 0) { |
189 | 30 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); |
190 | 70 | while (p_in < end_in) { |
191 | 40 | Op::compute(p_in, scale, p_out, negative_scale); |
192 | 40 | ++p_in; |
193 | 40 | ++p_out; |
194 | 40 | } |
195 | 786 | } else { |
196 | 3.29k | while (p_in < end_in) { |
197 | 2.51k | Op::compute(p_in, scale, p_out, 1); |
198 | 2.51k | ++p_in; |
199 | 2.51k | ++p_out; |
200 | 2.51k | } |
201 | 786 | } |
202 | 885 | } else { |
203 | 885 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); |
204 | 885 | } |
205 | 1.70k | } _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_s Line | Count | Source | 179 | 30 | Int16 out_scale) { | 180 | 30 | Int16 scale_arg = in_scale - out_scale; | 181 | 30 | if (scale_arg > 0) { | 182 | 20 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 20 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 20 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 20 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 20 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 19 | } else { | 196 | 56 | while (p_in < end_in) { | 197 | 37 | Op::compute(p_in, scale, p_out, 1); | 198 | 37 | ++p_in; | 199 | 37 | ++p_out; | 200 | 37 | } | 201 | 19 | } | 202 | 20 | } else { | 203 | 10 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 10 | } | 205 | 30 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_s Line | Count | Source | 179 | 26 | Int16 out_scale) { | 180 | 26 | Int16 scale_arg = in_scale - out_scale; | 181 | 26 | if (scale_arg > 0) { | 182 | 18 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 18 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 18 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 18 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 18 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 17 | } else { | 196 | 51 | while (p_in < end_in) { | 197 | 34 | Op::compute(p_in, scale, p_out, 1); | 198 | 34 | ++p_in; | 199 | 34 | ++p_out; | 200 | 34 | } | 201 | 17 | } | 202 | 18 | } else { | 203 | 8 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 8 | } | 205 | 26 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_s Line | Count | Source | 179 | 15 | Int16 out_scale) { | 180 | 15 | Int16 scale_arg = in_scale - out_scale; | 181 | 15 | if (scale_arg > 0) { | 182 | 12 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 12 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 12 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 12 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 12 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 11 | } else { | 196 | 39 | while (p_in < end_in) { | 197 | 28 | Op::compute(p_in, scale, p_out, 1); | 198 | 28 | ++p_in; | 199 | 28 | ++p_out; | 200 | 28 | } | 201 | 11 | } | 202 | 12 | } else { | 203 | 3 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 3 | } | 205 | 15 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_s Line | Count | Source | 179 | 37 | Int16 out_scale) { | 180 | 37 | Int16 scale_arg = in_scale - out_scale; | 181 | 37 | if (scale_arg > 0) { | 182 | 35 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 35 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 35 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 35 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 35 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 34 | } else { | 196 | 136 | while (p_in < end_in) { | 197 | 102 | Op::compute(p_in, scale, p_out, 1); | 198 | 102 | ++p_in; | 199 | 102 | ++p_out; | 200 | 102 | } | 201 | 34 | } | 202 | 35 | } else { | 203 | 2 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 2 | } | 205 | 37 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_s Line | Count | Source | 179 | 237 | Int16 out_scale) { | 180 | 237 | Int16 scale_arg = in_scale - out_scale; | 181 | 237 | if (scale_arg > 0) { | 182 | 215 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 215 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 215 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 215 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 215 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 214 | } else { | 196 | 1.29k | while (p_in < end_in) { | 197 | 1.08k | Op::compute(p_in, scale, p_out, 1); | 198 | 1.08k | ++p_in; | 199 | 1.08k | ++p_out; | 200 | 1.08k | } | 201 | 214 | } | 202 | 215 | } else { | 203 | 22 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 22 | } | 205 | 237 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_s Line | Count | Source | 179 | 48 | Int16 out_scale) { | 180 | 48 | Int16 scale_arg = in_scale - out_scale; | 181 | 48 | if (scale_arg > 0) { | 182 | 44 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 44 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 44 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 44 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 44 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 43 | } else { | 196 | 156 | while (p_in < end_in) { | 197 | 113 | Op::compute(p_in, scale, p_out, 1); | 198 | 113 | ++p_in; | 199 | 113 | ++p_out; | 200 | 113 | } | 201 | 43 | } | 202 | 44 | } else { | 203 | 4 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 4 | } | 205 | 48 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_s Line | Count | Source | 179 | 38 | Int16 out_scale) { | 180 | 38 | Int16 scale_arg = in_scale - out_scale; | 181 | 38 | if (scale_arg > 0) { | 182 | 35 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 35 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 35 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 35 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 35 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 34 | } else { | 196 | 136 | while (p_in < end_in) { | 197 | 102 | Op::compute(p_in, scale, p_out, 1); | 198 | 102 | ++p_in; | 199 | 102 | ++p_out; | 200 | 102 | } | 201 | 34 | } | 202 | 35 | } else { | 203 | 3 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 3 | } | 205 | 38 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_s Line | Count | Source | 179 | 43 | Int16 out_scale) { | 180 | 43 | Int16 scale_arg = in_scale - out_scale; | 181 | 43 | if (scale_arg > 0) { | 182 | 37 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 37 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 37 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 37 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 37 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 36 | } else { | 196 | 153 | while (p_in < end_in) { | 197 | 117 | Op::compute(p_in, scale, p_out, 1); | 198 | 117 | ++p_in; | 199 | 117 | ++p_out; | 200 | 117 | } | 201 | 36 | } | 202 | 37 | } else { | 203 | 6 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 6 | } | 205 | 43 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_s Line | Count | Source | 179 | 937 | Int16 out_scale) { | 180 | 937 | Int16 scale_arg = in_scale - out_scale; | 181 | 937 | if (scale_arg > 0) { | 182 | 206 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 206 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 206 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 206 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 206 | if (out_scale < 0) { | 189 | 13 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 26 | while (p_in < end_in) { | 191 | 13 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 13 | ++p_in; | 193 | 13 | ++p_out; | 194 | 13 | } | 195 | 193 | } else { | 196 | 592 | while (p_in < end_in) { | 197 | 399 | Op::compute(p_in, scale, p_out, 1); | 198 | 399 | ++p_in; | 199 | 399 | ++p_out; | 200 | 399 | } | 201 | 193 | } | 202 | 731 | } else { | 203 | 731 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 731 | } | 205 | 937 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_s Line | Count | Source | 179 | 14 | Int16 out_scale) { | 180 | 14 | Int16 scale_arg = in_scale - out_scale; | 181 | 14 | if (scale_arg > 0) { | 182 | 0 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | |
| 184 | 0 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 0 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 0 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | |
| 188 | 0 | if (out_scale < 0) { | 189 | 0 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 0 | while (p_in < end_in) { | 191 | 0 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 0 | ++p_in; | 193 | 0 | ++p_out; | 194 | 0 | } | 195 | 0 | } else { | 196 | 0 | while (p_in < end_in) { | 197 | 0 | Op::compute(p_in, scale, p_out, 1); | 198 | 0 | ++p_in; | 199 | 0 | ++p_out; | 200 | 0 | } | 201 | 0 | } | 202 | 14 | } else { | 203 | 14 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 14 | } | 205 | 14 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_s Line | Count | Source | 179 | 36 | Int16 out_scale) { | 180 | 36 | Int16 scale_arg = in_scale - out_scale; | 181 | 36 | if (scale_arg > 0) { | 182 | 35 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 35 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 35 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 35 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 35 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 34 | } else { | 196 | 136 | while (p_in < end_in) { | 197 | 102 | Op::compute(p_in, scale, p_out, 1); | 198 | 102 | ++p_in; | 199 | 102 | ++p_out; | 200 | 102 | } | 201 | 34 | } | 202 | 35 | } else { | 203 | 1 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 1 | } | 205 | 36 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_s Line | Count | Source | 179 | 39 | Int16 out_scale) { | 180 | 39 | Int16 scale_arg = in_scale - out_scale; | 181 | 39 | if (scale_arg > 0) { | 182 | 37 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 37 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 37 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 37 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 37 | if (out_scale < 0) { | 189 | 2 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 14 | while (p_in < end_in) { | 191 | 12 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 12 | ++p_in; | 193 | 12 | ++p_out; | 194 | 12 | } | 195 | 35 | } else { | 196 | 142 | while (p_in < end_in) { | 197 | 107 | Op::compute(p_in, scale, p_out, 1); | 198 | 107 | ++p_in; | 199 | 107 | ++p_out; | 200 | 107 | } | 201 | 35 | } | 202 | 37 | } else { | 203 | 2 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 2 | } | 205 | 39 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_s Line | Count | Source | 179 | 53 | Int16 out_scale) { | 180 | 53 | Int16 scale_arg = in_scale - out_scale; | 181 | 53 | if (scale_arg > 0) { | 182 | 51 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 51 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 51 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 51 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 51 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 50 | } else { | 196 | 170 | while (p_in < end_in) { | 197 | 120 | Op::compute(p_in, scale, p_out, 1); | 198 | 120 | ++p_in; | 199 | 120 | ++p_out; | 200 | 120 | } | 201 | 50 | } | 202 | 51 | } else { | 203 | 2 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 2 | } | 205 | 53 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEEjRS8_s Line | Count | Source | 179 | 31 | Int16 out_scale) { | 180 | 31 | Int16 scale_arg = in_scale - out_scale; | 181 | 31 | if (scale_arg > 0) { | 182 | 29 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 29 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 29 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 29 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 29 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 28 | } else { | 196 | 90 | while (p_in < end_in) { | 197 | 62 | Op::compute(p_in, scale, p_out, 1); | 198 | 62 | ++p_in; | 199 | 62 | ++p_out; | 200 | 62 | } | 201 | 28 | } | 202 | 29 | } else { | 203 | 2 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 2 | } | 205 | 31 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEEjRS8_s Line | Count | Source | 179 | 91 | Int16 out_scale) { | 180 | 91 | Int16 scale_arg = in_scale - out_scale; | 181 | 91 | if (scale_arg > 0) { | 182 | 19 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 19 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 19 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 19 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 19 | if (out_scale < 0) { | 189 | 1 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 2 | while (p_in < end_in) { | 191 | 1 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 1 | ++p_in; | 193 | 1 | ++p_out; | 194 | 1 | } | 195 | 18 | } else { | 196 | 70 | while (p_in < end_in) { | 197 | 52 | Op::compute(p_in, scale, p_out, 1); | 198 | 52 | ++p_in; | 199 | 52 | ++p_out; | 200 | 52 | } | 201 | 18 | } | 202 | 72 | } else { | 203 | 72 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 72 | } | 205 | 91 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEEjRS7_s Line | Count | Source | 179 | 26 | Int16 out_scale) { | 180 | 26 | Int16 scale_arg = in_scale - out_scale; | 181 | 26 | if (scale_arg > 0) { | 182 | 23 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 183 | | | 184 | 23 | const NativeType* __restrict p_in = reinterpret_cast<const NativeType*>(in.data()); | 185 | 23 | const NativeType* end_in = reinterpret_cast<const NativeType*>(in.data()) + in.size(); | 186 | 23 | NativeType* __restrict p_out = reinterpret_cast<NativeType*>(out.data()); | 187 | | | 188 | 23 | if (out_scale < 0) { | 189 | 3 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 190 | 6 | while (p_in < end_in) { | 191 | 3 | Op::compute(p_in, scale, p_out, negative_scale); | 192 | 3 | ++p_in; | 193 | 3 | ++p_out; | 194 | 3 | } | 195 | 20 | } else { | 196 | 74 | while (p_in < end_in) { | 197 | 54 | Op::compute(p_in, scale, p_out, 1); | 198 | 54 | ++p_in; | 199 | 54 | ++p_out; | 200 | 54 | } | 201 | 20 | } | 202 | 23 | } else { | 203 | 3 | memcpy(out.data(), in.data(), in.size() * sizeof(T)); | 204 | 3 | } | 205 | 26 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEEjRSB_s |
206 | | |
207 | | static NO_INLINE void apply(const NativeType& in, UInt32 in_scale, NativeType& out, |
208 | 4.37k | Int16 out_scale) { |
209 | 4.37k | Int16 scale_arg = in_scale - out_scale; |
210 | 4.37k | if (scale_arg > 0) { |
211 | 2.81k | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); |
212 | 2.81k | if (out_scale < 0) { |
213 | 1.97k | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); |
214 | 1.97k | Op::compute(&in, scale, &out, negative_scale); |
215 | 1.97k | } else { |
216 | 840 | Op::compute(&in, scale, &out, 1); |
217 | 840 | } |
218 | 2.81k | } else { |
219 | 1.56k | memcpy(&out, &in, sizeof(NativeType)); |
220 | 1.56k | } |
221 | 4.37k | } _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKijRis Line | Count | Source | 208 | 564 | Int16 out_scale) { | 209 | 564 | Int16 scale_arg = in_scale - out_scale; | 210 | 564 | if (scale_arg > 0) { | 211 | 366 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 366 | if (out_scale < 0) { | 213 | 268 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 268 | Op::compute(&in, scale, &out, negative_scale); | 215 | 268 | } else { | 216 | 98 | Op::compute(&in, scale, &out, 1); | 217 | 98 | } | 218 | 366 | } else { | 219 | 198 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 198 | } | 221 | 564 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKljRls Line | Count | Source | 208 | 308 | Int16 out_scale) { | 209 | 308 | Int16 scale_arg = in_scale - out_scale; | 210 | 308 | if (scale_arg > 0) { | 211 | 198 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 198 | if (out_scale < 0) { | 213 | 133 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 133 | Op::compute(&in, scale, &out, negative_scale); | 215 | 133 | } else { | 216 | 65 | Op::compute(&in, scale, &out, 1); | 217 | 65 | } | 218 | 198 | } else { | 219 | 110 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 110 | } | 221 | 308 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRns _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKnjRns Line | Count | Source | 208 | 3 | Int16 out_scale) { | 209 | 3 | Int16 scale_arg = in_scale - out_scale; | 210 | 3 | if (scale_arg > 0) { | 211 | 2 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 2 | if (out_scale < 0) { | 213 | 0 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 0 | Op::compute(&in, scale, &out, negative_scale); | 215 | 2 | } else { | 216 | 2 | Op::compute(&in, scale, &out, 1); | 217 | 2 | } | 218 | 2 | } else { | 219 | 1 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 1 | } | 221 | 3 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKijRis Line | Count | Source | 208 | 564 | Int16 out_scale) { | 209 | 564 | Int16 scale_arg = in_scale - out_scale; | 210 | 564 | if (scale_arg > 0) { | 211 | 364 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 364 | if (out_scale < 0) { | 213 | 264 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 264 | Op::compute(&in, scale, &out, negative_scale); | 215 | 264 | } else { | 216 | 100 | Op::compute(&in, scale, &out, 1); | 217 | 100 | } | 218 | 364 | } else { | 219 | 200 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 200 | } | 221 | 564 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKljRls Line | Count | Source | 208 | 307 | Int16 out_scale) { | 209 | 307 | Int16 scale_arg = in_scale - out_scale; | 210 | 307 | if (scale_arg > 0) { | 211 | 195 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 195 | if (out_scale < 0) { | 213 | 128 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 128 | Op::compute(&in, scale, &out, negative_scale); | 215 | 128 | } else { | 216 | 67 | Op::compute(&in, scale, &out, 1); | 217 | 67 | } | 218 | 195 | } else { | 219 | 112 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 112 | } | 221 | 307 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRns _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKnjRns Line | Count | Source | 208 | 4 | Int16 out_scale) { | 209 | 4 | Int16 scale_arg = in_scale - out_scale; | 210 | 4 | if (scale_arg > 0) { | 211 | 2 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 2 | if (out_scale < 0) { | 213 | 0 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 0 | Op::compute(&in, scale, &out, negative_scale); | 215 | 2 | } else { | 216 | 2 | Op::compute(&in, scale, &out, 1); | 217 | 2 | } | 218 | 2 | } else { | 219 | 2 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 2 | } | 221 | 4 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKijRis Line | Count | Source | 208 | 566 | Int16 out_scale) { | 209 | 566 | Int16 scale_arg = in_scale - out_scale; | 210 | 566 | if (scale_arg > 0) { | 211 | 366 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 366 | if (out_scale < 0) { | 213 | 266 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 266 | Op::compute(&in, scale, &out, negative_scale); | 215 | 266 | } else { | 216 | 100 | Op::compute(&in, scale, &out, 1); | 217 | 100 | } | 218 | 366 | } else { | 219 | 200 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 200 | } | 221 | 566 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKljRls Line | Count | Source | 208 | 306 | Int16 out_scale) { | 209 | 306 | Int16 scale_arg = in_scale - out_scale; | 210 | 306 | if (scale_arg > 0) { | 211 | 194 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 194 | if (out_scale < 0) { | 213 | 128 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 128 | Op::compute(&in, scale, &out, negative_scale); | 215 | 128 | } else { | 216 | 66 | Op::compute(&in, scale, &out, 1); | 217 | 66 | } | 218 | 194 | } else { | 219 | 112 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 112 | } | 221 | 306 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRns _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKnjRns Line | Count | Source | 208 | 5 | Int16 out_scale) { | 209 | 5 | Int16 scale_arg = in_scale - out_scale; | 210 | 5 | if (scale_arg > 0) { | 211 | 4 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 4 | if (out_scale < 0) { | 213 | 2 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 2 | Op::compute(&in, scale, &out, negative_scale); | 215 | 2 | } else { | 216 | 2 | Op::compute(&in, scale, &out, 1); | 217 | 2 | } | 218 | 4 | } else { | 219 | 1 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 1 | } | 221 | 5 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKijRis Line | Count | Source | 208 | 565 | Int16 out_scale) { | 209 | 565 | Int16 scale_arg = in_scale - out_scale; | 210 | 565 | if (scale_arg > 0) { | 211 | 365 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 365 | if (out_scale < 0) { | 213 | 265 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 265 | Op::compute(&in, scale, &out, negative_scale); | 215 | 265 | } else { | 216 | 100 | Op::compute(&in, scale, &out, 1); | 217 | 100 | } | 218 | 365 | } else { | 219 | 200 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 200 | } | 221 | 565 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKljRls Line | Count | Source | 208 | 305 | Int16 out_scale) { | 209 | 305 | Int16 scale_arg = in_scale - out_scale; | 210 | 305 | if (scale_arg > 0) { | 211 | 193 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 193 | if (out_scale < 0) { | 213 | 128 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 128 | Op::compute(&in, scale, &out, negative_scale); | 215 | 128 | } else { | 216 | 65 | Op::compute(&in, scale, &out, 1); | 217 | 65 | } | 218 | 193 | } else { | 219 | 112 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 112 | } | 221 | 305 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRns _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKnjRns Line | Count | Source | 208 | 3 | Int16 out_scale) { | 209 | 3 | Int16 scale_arg = in_scale - out_scale; | 210 | 3 | if (scale_arg > 0) { | 211 | 2 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 2 | if (out_scale < 0) { | 213 | 0 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 0 | Op::compute(&in, scale, &out, negative_scale); | 215 | 2 | } else { | 216 | 2 | Op::compute(&in, scale, &out, 1); | 217 | 2 | } | 218 | 2 | } else { | 219 | 1 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 1 | } | 221 | 3 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE5applyERKN4wide7integerILm256EiEEjRS7_s _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKijRis Line | Count | Source | 208 | 568 | Int16 out_scale) { | 209 | 568 | Int16 scale_arg = in_scale - out_scale; | 210 | 568 | if (scale_arg > 0) { | 211 | 368 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 368 | if (out_scale < 0) { | 213 | 265 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 265 | Op::compute(&in, scale, &out, negative_scale); | 215 | 265 | } else { | 216 | 103 | Op::compute(&in, scale, &out, 1); | 217 | 103 | } | 218 | 368 | } else { | 219 | 200 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 200 | } | 221 | 568 | } |
_ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKljRls Line | Count | Source | 208 | 306 | Int16 out_scale) { | 209 | 306 | Int16 scale_arg = in_scale - out_scale; | 210 | 306 | if (scale_arg > 0) { | 211 | 194 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 194 | if (out_scale < 0) { | 213 | 128 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 128 | Op::compute(&in, scale, &out, negative_scale); | 215 | 128 | } else { | 216 | 66 | Op::compute(&in, scale, &out, 1); | 217 | 66 | } | 218 | 194 | } else { | 219 | 112 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 112 | } | 221 | 306 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRns _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKnjRns Line | Count | Source | 208 | 3 | Int16 out_scale) { | 209 | 3 | Int16 scale_arg = in_scale - out_scale; | 210 | 3 | if (scale_arg > 0) { | 211 | 2 | auto scale = DecimalScaleParams::get_scale_factor<Type>(scale_arg); | 212 | 2 | if (out_scale < 0) { | 213 | 0 | auto negative_scale = DecimalScaleParams::get_scale_factor<Type>(-out_scale); | 214 | 0 | Op::compute(&in, scale, &out, negative_scale); | 215 | 2 | } else { | 216 | 2 | Op::compute(&in, scale, &out, 1); | 217 | 2 | } | 218 | 2 | } else { | 219 | 1 | memcpy(&out, &in, sizeof(NativeType)); | 220 | 1 | } | 221 | 3 | } |
Unexecuted instantiation: _ZN5doris19DecimalRoundingImplILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE5applyERKN4wide7integerILm256EiEEjRS7_s |
222 | | }; |
223 | | |
224 | | template <TieBreakingMode tie_breaking_mode> |
225 | 44 | inline float roundWithMode(float x, RoundingMode mode) { |
226 | 44 | switch (mode) { |
227 | 20 | case RoundingMode::Round: { |
228 | 20 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { |
229 | 10 | return nearbyintf(x); |
230 | 10 | } else { |
231 | 10 | return roundf(x); |
232 | 10 | } |
233 | 20 | } |
234 | 28 | case RoundingMode::Floor: |
235 | 28 | return floorf(x); |
236 | 8 | case RoundingMode::Ceil: |
237 | 8 | return ceilf(x); |
238 | 8 | case RoundingMode::Trunc: |
239 | 8 | return truncf(x); |
240 | 44 | } |
241 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); |
242 | 0 | __builtin_unreachable(); |
243 | 44 | } _ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEffNS_12RoundingModeE Line | Count | Source | 225 | 34 | inline float roundWithMode(float x, RoundingMode mode) { | 226 | 34 | switch (mode) { | 227 | 10 | case RoundingMode::Round: { | 228 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 229 | | return nearbyintf(x); | 230 | 10 | } else { | 231 | 10 | return roundf(x); | 232 | 10 | } | 233 | 10 | } | 234 | 18 | case RoundingMode::Floor: | 235 | 18 | return floorf(x); | 236 | 8 | case RoundingMode::Ceil: | 237 | 8 | return ceilf(x); | 238 | 8 | case RoundingMode::Trunc: | 239 | 8 | return truncf(x); | 240 | 34 | } | 241 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); | 242 | 0 | __builtin_unreachable(); | 243 | 34 | } |
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEffNS_12RoundingModeE Line | Count | Source | 225 | 10 | inline float roundWithMode(float x, RoundingMode mode) { | 226 | 10 | switch (mode) { | 227 | 10 | case RoundingMode::Round: { | 228 | 10 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 229 | 10 | return nearbyintf(x); | 230 | | } else { | 231 | | return roundf(x); | 232 | | } | 233 | 10 | } | 234 | 10 | case RoundingMode::Floor: | 235 | 10 | return floorf(x); | 236 | 0 | case RoundingMode::Ceil: | 237 | 0 | return ceilf(x); | 238 | 0 | case RoundingMode::Trunc: | 239 | 0 | return truncf(x); | 240 | 10 | } | 241 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); | 242 | 0 | __builtin_unreachable(); | 243 | 10 | } |
|
244 | | |
245 | | template <TieBreakingMode tie_breaking_mode> |
246 | 4.15k | inline double roundWithMode(double x, RoundingMode mode) { |
247 | 4.15k | switch (mode) { |
248 | 3.89k | case RoundingMode::Round: { |
249 | 3.89k | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { |
250 | 72 | return nearbyint(x); |
251 | 3.82k | } else { |
252 | 3.82k | return round(x); |
253 | 3.82k | } |
254 | 3.89k | } |
255 | 3.99k | case RoundingMode::Floor: |
256 | 3.99k | return floor(x); |
257 | 81 | case RoundingMode::Ceil: |
258 | 81 | return ceil(x); |
259 | 75 | case RoundingMode::Trunc: |
260 | 75 | return trunc(x); |
261 | 4.15k | } |
262 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); |
263 | 0 | __builtin_unreachable(); |
264 | 4.15k | } _ZN5doris13roundWithModeILNS_15TieBreakingModeE0EEEddNS_12RoundingModeE Line | Count | Source | 246 | 4.08k | inline double roundWithMode(double x, RoundingMode mode) { | 247 | 4.08k | switch (mode) { | 248 | 3.82k | case RoundingMode::Round: { | 249 | | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 250 | | return nearbyint(x); | 251 | 3.82k | } else { | 252 | 3.82k | return round(x); | 253 | 3.82k | } | 254 | 3.82k | } | 255 | 3.92k | case RoundingMode::Floor: | 256 | 3.92k | return floor(x); | 257 | 81 | case RoundingMode::Ceil: | 258 | 81 | return ceil(x); | 259 | 75 | case RoundingMode::Trunc: | 260 | 75 | return trunc(x); | 261 | 4.08k | } | 262 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); | 263 | 0 | __builtin_unreachable(); | 264 | 4.08k | } |
_ZN5doris13roundWithModeILNS_15TieBreakingModeE1EEEddNS_12RoundingModeE Line | Count | Source | 246 | 72 | inline double roundWithMode(double x, RoundingMode mode) { | 247 | 72 | switch (mode) { | 248 | 72 | case RoundingMode::Round: { | 249 | 72 | if constexpr (tie_breaking_mode == TieBreakingMode::Bankers) { | 250 | 72 | return nearbyint(x); | 251 | | } else { | 252 | | return round(x); | 253 | | } | 254 | 72 | } | 255 | 72 | case RoundingMode::Floor: | 256 | 72 | return floor(x); | 257 | 0 | case RoundingMode::Ceil: | 258 | 0 | return ceil(x); | 259 | 0 | case RoundingMode::Trunc: | 260 | 0 | return trunc(x); | 261 | 72 | } | 262 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "roundWithMode __builtin_unreachable ", mode); | 263 | 0 | __builtin_unreachable(); | 264 | 72 | } |
|
265 | | |
266 | | template <typename T, TieBreakingMode tie_breaking_mode> |
267 | | class BaseFloatRoundingComputation { |
268 | | public: |
269 | | using ScalarType = T; |
270 | | using VectorType = T; |
271 | | static const size_t data_count = 1; |
272 | | |
273 | 4.19k | static VectorType load(const ScalarType* in) { return *in; }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE4loadEPKf Line | Count | Source | 273 | 34 | static VectorType load(const ScalarType* in) { return *in; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE4loadEPKd Line | Count | Source | 273 | 4.08k | static VectorType load(const ScalarType* in) { return *in; } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE4loadEPKf Line | Count | Source | 273 | 10 | static VectorType load(const ScalarType* in) { return *in; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE4loadEPKd Line | Count | Source | 273 | 72 | static VectorType load(const ScalarType* in) { return *in; } |
|
274 | 739 | static VectorType load1(const ScalarType in) { return in; }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5load1Ef Line | Count | Source | 274 | 34 | static VectorType load1(const ScalarType in) { return in; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5load1Ed Line | Count | Source | 274 | 660 | static VectorType load1(const ScalarType in) { return in; } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5load1Ef Line | Count | Source | 274 | 10 | static VectorType load1(const ScalarType in) { return in; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5load1Ed Line | Count | Source | 274 | 35 | static VectorType load1(const ScalarType in) { return in; } |
|
275 | 4.19k | static VectorType store(ScalarType* out, ScalarType val) { return *out = val; }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5storeEPff Line | Count | Source | 275 | 34 | static VectorType store(ScalarType* out, ScalarType val) { return *out = val; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5storeEPdd Line | Count | Source | 275 | 4.08k | static VectorType store(ScalarType* out, ScalarType val) { return *out = val; } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5storeEPff Line | Count | Source | 275 | 10 | static VectorType store(ScalarType* out, ScalarType val) { return *out = val; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5storeEPdd Line | Count | Source | 275 | 72 | static VectorType store(ScalarType* out, ScalarType val) { return *out = val; } |
|
276 | 3.91k | static VectorType multiply(VectorType val, VectorType scale) { return val * scale; }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE8multiplyEff Line | Count | Source | 276 | 24 | static VectorType multiply(VectorType val, VectorType scale) { return val * scale; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE8multiplyEdd Line | Count | Source | 276 | 3.84k | static VectorType multiply(VectorType val, VectorType scale) { return val * scale; } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE8multiplyEff Line | Count | Source | 276 | 6 | static VectorType multiply(VectorType val, VectorType scale) { return val * scale; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE8multiplyEdd Line | Count | Source | 276 | 37 | static VectorType multiply(VectorType val, VectorType scale) { return val * scale; } |
|
277 | 3.91k | static VectorType divide(VectorType val, VectorType scale) { return val / scale; }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE6divideEff Line | Count | Source | 277 | 24 | static VectorType divide(VectorType val, VectorType scale) { return val / scale; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE6divideEdd Line | Count | Source | 277 | 3.84k | static VectorType divide(VectorType val, VectorType scale) { return val / scale; } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE6divideEff Line | Count | Source | 277 | 6 | static VectorType divide(VectorType val, VectorType scale) { return val / scale; } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE6divideEdd Line | Count | Source | 277 | 37 | static VectorType divide(VectorType val, VectorType scale) { return val / scale; } |
|
278 | | template <RoundingMode mode> |
279 | 4.19k | static VectorType apply(VectorType val) { |
280 | 4.19k | return roundWithMode<tie_breaking_mode>(val, mode); |
281 | 4.19k | } _ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEff Line | Count | Source | 279 | 8 | static VectorType apply(VectorType val) { | 280 | 8 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 8 | } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE11EEEdd Line | Count | Source | 279 | 75 | static VectorType apply(VectorType val) { | 280 | 75 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 75 | } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEff Line | Count | Source | 279 | 8 | static VectorType apply(VectorType val) { | 280 | 8 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 8 | } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE9EEEdd Line | Count | Source | 279 | 99 | static VectorType apply(VectorType val) { | 280 | 99 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 99 | } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEff Line | Count | Source | 279 | 10 | static VectorType apply(VectorType val) { | 280 | 10 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 10 | } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE8EEEdd Line | Count | Source | 279 | 3.82k | static VectorType apply(VectorType val) { | 280 | 3.82k | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 3.82k | } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEff Line | Count | Source | 279 | 8 | static VectorType apply(VectorType val) { | 280 | 8 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 8 | } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE5applyILNS_12RoundingModeE10EEEdd Line | Count | Source | 279 | 81 | static VectorType apply(VectorType val) { | 280 | 81 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 81 | } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEff Line | Count | Source | 279 | 10 | static VectorType apply(VectorType val) { | 280 | 10 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 10 | } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE5applyILNS_12RoundingModeE8EEEdd Line | Count | Source | 279 | 72 | static VectorType apply(VectorType val) { | 280 | 72 | return roundWithMode<tie_breaking_mode>(val, mode); | 281 | 72 | } |
|
282 | | |
283 | 739 | static VectorType prepare(size_t scale) { return load1(scale); }_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE0EE7prepareEm Line | Count | Source | 283 | 34 | static VectorType prepare(size_t scale) { return load1(scale); } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE0EE7prepareEm Line | Count | Source | 283 | 660 | static VectorType prepare(size_t scale) { return load1(scale); } |
_ZN5doris28BaseFloatRoundingComputationIfLNS_15TieBreakingModeE1EE7prepareEm Line | Count | Source | 283 | 10 | static VectorType prepare(size_t scale) { return load1(scale); } |
_ZN5doris28BaseFloatRoundingComputationIdLNS_15TieBreakingModeE1EE7prepareEm Line | Count | Source | 283 | 35 | static VectorType prepare(size_t scale) { return load1(scale); } |
|
284 | | }; |
285 | | |
286 | | /** Implementation of low-level round-off functions for floating-point values. |
287 | | */ |
288 | | template <typename T, RoundingMode rounding_mode, ScaleMode scale_mode, |
289 | | TieBreakingMode tie_breaking_mode> |
290 | | class FloatRoundingComputation : public BaseFloatRoundingComputation<T, tie_breaking_mode> { |
291 | | using Base = BaseFloatRoundingComputation<T, tie_breaking_mode>; |
292 | | |
293 | | public: |
294 | | static inline void compute(const T* __restrict in, const typename Base::VectorType& scale, |
295 | 4.19k | T* __restrict out) { |
296 | 4.19k | auto val = Base::load(in); |
297 | | |
298 | 4.19k | if (scale_mode == ScaleMode::Positive) { |
299 | 3.87k | val = Base::multiply(val, scale); |
300 | 3.87k | } else if (scale_mode == ScaleMode::Negative) { |
301 | 40 | val = Base::divide(val, scale); |
302 | 40 | } |
303 | | |
304 | 4.19k | val = Base::template apply<rounding_mode>(val); |
305 | | |
306 | 4.19k | if (scale_mode == ScaleMode::Positive) { |
307 | 3.87k | val = Base::divide(val, scale); |
308 | 3.87k | } else if (scale_mode == ScaleMode::Negative) { |
309 | 40 | val = Base::multiply(val, scale); |
310 | 40 | } |
311 | | |
312 | 4.19k | Base::store(out, val); |
313 | 4.19k | } _ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 4 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 4 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 12 | T* __restrict out) { | 296 | 12 | auto val = Base::load(in); | 297 | | | 298 | 12 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 12 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 12 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 12 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 12 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 12 | Base::store(out, val); | 313 | 12 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 53 | T* __restrict out) { | 296 | 53 | auto val = Base::load(in); | 297 | | | 298 | 53 | if (scale_mode == ScaleMode::Positive) { | 299 | 53 | val = Base::multiply(val, scale); | 300 | 53 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 53 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 53 | if (scale_mode == ScaleMode::Positive) { | 307 | 53 | val = Base::divide(val, scale); | 308 | 53 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 53 | Base::store(out, val); | 313 | 53 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 10 | T* __restrict out) { | 296 | 10 | auto val = Base::load(in); | 297 | | | 298 | 10 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 10 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 10 | val = Base::divide(val, scale); | 302 | 10 | } | 303 | | | 304 | 10 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 10 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 10 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 10 | val = Base::multiply(val, scale); | 310 | 10 | } | 311 | | | 312 | 10 | Base::store(out, val); | 313 | 10 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 4 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 4 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 85 | T* __restrict out) { | 296 | 85 | auto val = Base::load(in); | 297 | | | 298 | 85 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 85 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 85 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 85 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 85 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 85 | Base::store(out, val); | 313 | 85 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 12 | T* __restrict out) { | 296 | 12 | auto val = Base::load(in); | 297 | | | 298 | 12 | if (scale_mode == ScaleMode::Positive) { | 299 | 12 | val = Base::multiply(val, scale); | 300 | 12 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 12 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 12 | if (scale_mode == ScaleMode::Positive) { | 307 | 12 | val = Base::divide(val, scale); | 308 | 12 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 12 | Base::store(out, val); | 313 | 12 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 4 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 4 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 73 | T* __restrict out) { | 296 | 73 | auto val = Base::load(in); | 297 | | | 298 | 73 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 73 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 73 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 73 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 73 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 73 | Base::store(out, val); | 313 | 73 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 3.74k | T* __restrict out) { | 296 | 3.74k | auto val = Base::load(in); | 297 | | | 298 | 3.74k | if (scale_mode == ScaleMode::Positive) { | 299 | 3.74k | val = Base::multiply(val, scale); | 300 | 3.74k | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 3.74k | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 3.74k | if (scale_mode == ScaleMode::Positive) { | 307 | 3.74k | val = Base::divide(val, scale); | 308 | 3.74k | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 3.74k | Base::store(out, val); | 313 | 3.74k | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 6 | T* __restrict out) { | 296 | 6 | auto val = Base::load(in); | 297 | | | 298 | 6 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 6 | val = Base::divide(val, scale); | 302 | 6 | } | 303 | | | 304 | 6 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 6 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 6 | val = Base::multiply(val, scale); | 310 | 6 | } | 311 | | | 312 | 6 | Base::store(out, val); | 313 | 6 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 4 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 4 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 67 | T* __restrict out) { | 296 | 67 | auto val = Base::load(in); | 297 | | | 298 | 67 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 67 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 67 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 67 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 67 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 67 | Base::store(out, val); | 313 | 67 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 8 | T* __restrict out) { | 296 | 8 | auto val = Base::load(in); | 297 | | | 298 | 8 | if (scale_mode == ScaleMode::Positive) { | 299 | 8 | val = Base::multiply(val, scale); | 300 | 8 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 8 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 8 | if (scale_mode == ScaleMode::Positive) { | 307 | 8 | val = Base::divide(val, scale); | 308 | 8 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 8 | Base::store(out, val); | 313 | 8 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 6 | T* __restrict out) { | 296 | 6 | auto val = Base::load(in); | 297 | | | 298 | 6 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 6 | val = Base::divide(val, scale); | 302 | 6 | } | 303 | | | 304 | 6 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 6 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 6 | val = Base::multiply(val, scale); | 310 | 6 | } | 311 | | | 312 | 6 | Base::store(out, val); | 313 | 6 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 4 | T* __restrict out) { | 296 | 4 | auto val = Base::load(in); | 297 | | | 298 | 4 | if (scale_mode == ScaleMode::Positive) { | 299 | 4 | val = Base::multiply(val, scale); | 300 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 4 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 4 | if (scale_mode == ScaleMode::Positive) { | 307 | 4 | val = Base::divide(val, scale); | 308 | 4 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 4 | Base::store(out, val); | 313 | 4 | } |
_ZN5doris24FloatRoundingComputationIfLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKfRS5_Pf Line | Count | Source | 295 | 2 | T* __restrict out) { | 296 | 2 | auto val = Base::load(in); | 297 | | | 298 | 2 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 2 | val = Base::divide(val, scale); | 302 | 2 | } | 303 | | | 304 | 2 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 2 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 2 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 2 | val = Base::multiply(val, scale); | 310 | 2 | } | 311 | | | 312 | 2 | Base::store(out, val); | 313 | 2 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 35 | T* __restrict out) { | 296 | 35 | auto val = Base::load(in); | 297 | | | 298 | 35 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 35 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 35 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 35 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 35 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 35 | Base::store(out, val); | 313 | 35 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 31 | T* __restrict out) { | 296 | 31 | auto val = Base::load(in); | 297 | | | 298 | 31 | if (scale_mode == ScaleMode::Positive) { | 299 | 31 | val = Base::multiply(val, scale); | 300 | 31 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 0 | val = Base::divide(val, scale); | 302 | 0 | } | 303 | | | 304 | 31 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 31 | if (scale_mode == ScaleMode::Positive) { | 307 | 31 | val = Base::divide(val, scale); | 308 | 31 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 0 | val = Base::multiply(val, scale); | 310 | 0 | } | 311 | | | 312 | 31 | Base::store(out, val); | 313 | 31 | } |
_ZN5doris24FloatRoundingComputationIdLNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE7computeEPKdRS5_Pd Line | Count | Source | 295 | 6 | T* __restrict out) { | 296 | 6 | auto val = Base::load(in); | 297 | | | 298 | 6 | if (scale_mode == ScaleMode::Positive) { | 299 | 0 | val = Base::multiply(val, scale); | 300 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 301 | 6 | val = Base::divide(val, scale); | 302 | 6 | } | 303 | | | 304 | 6 | val = Base::template apply<rounding_mode>(val); | 305 | | | 306 | 6 | if (scale_mode == ScaleMode::Positive) { | 307 | 0 | val = Base::divide(val, scale); | 308 | 6 | } else if (scale_mode == ScaleMode::Negative) { | 309 | 6 | val = Base::multiply(val, scale); | 310 | 6 | } | 311 | | | 312 | 6 | Base::store(out, val); | 313 | 6 | } |
|
314 | | }; |
315 | | |
316 | | /** Implementing high-level rounding functions. |
317 | | */ |
318 | | template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode, |
319 | | TieBreakingMode tie_breaking_mode> |
320 | | struct FloatRoundingImpl { |
321 | | private: |
322 | | using T = typename PrimitiveTypeTraits<Type>::CppType; |
323 | | static_assert(!is_decimal(Type)); |
324 | | |
325 | | using Op = FloatRoundingComputation<T, rounding_mode, scale_mode, tie_breaking_mode>; |
326 | | using Data = std::array<T, Op::data_count>; |
327 | | using ColumnType = ColumnVector<Type>; |
328 | | using Container = typename ColumnType::Container; |
329 | | |
330 | | public: |
331 | 606 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { |
332 | 606 | auto mm_scale = Op::prepare(scale); |
333 | | |
334 | 606 | const size_t data_count = std::tuple_size<Data>(); |
335 | | |
336 | 606 | const T* end_in = in.data() + in.size(); |
337 | 606 | const T* limit = in.data() + in.size() / data_count * data_count; |
338 | | |
339 | 606 | const T* __restrict p_in = in.data(); |
340 | 606 | T* __restrict p_out = out.data(); |
341 | | |
342 | 4.67k | while (p_in < limit) { |
343 | 4.06k | Op::compute(p_in, mm_scale, p_out); |
344 | 4.06k | p_in += data_count; |
345 | 4.06k | p_out += data_count; |
346 | 4.06k | } |
347 | | |
348 | 606 | if (p_in < end_in) { |
349 | 0 | Data tmp_src {{}}; |
350 | 0 | Data tmp_dst; |
351 | |
|
352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); |
353 | |
|
354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); |
355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); |
356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); |
357 | 0 | } |
358 | 606 | } Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 10 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 10 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 10 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 10 | const T* end_in = in.data() + in.size(); | 337 | 10 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 10 | const T* __restrict p_in = in.data(); | 340 | 10 | T* __restrict p_out = out.data(); | 341 | | | 342 | 20 | while (p_in < limit) { | 343 | 10 | Op::compute(p_in, mm_scale, p_out); | 344 | 10 | p_in += data_count; | 345 | 10 | p_out += data_count; | 346 | 10 | } | 347 | | | 348 | 10 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 10 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 20 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 20 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 20 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 20 | const T* end_in = in.data() + in.size(); | 337 | 20 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 20 | const T* __restrict p_in = in.data(); | 340 | 20 | T* __restrict p_out = out.data(); | 341 | | | 342 | 59 | while (p_in < limit) { | 343 | 39 | Op::compute(p_in, mm_scale, p_out); | 344 | 39 | p_in += data_count; | 345 | 39 | p_out += data_count; | 346 | 39 | } | 347 | | | 348 | 20 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 20 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 8 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 8 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 8 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 8 | const T* end_in = in.data() + in.size(); | 337 | 8 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 8 | const T* __restrict p_in = in.data(); | 340 | 8 | T* __restrict p_out = out.data(); | 341 | | | 342 | 16 | while (p_in < limit) { | 343 | 8 | Op::compute(p_in, mm_scale, p_out); | 344 | 8 | p_in += data_count; | 345 | 8 | p_out += data_count; | 346 | 8 | } | 347 | | | 348 | 8 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 8 | } |
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 41 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 41 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 41 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 41 | const T* end_in = in.data() + in.size(); | 337 | 41 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 41 | const T* __restrict p_in = in.data(); | 340 | 41 | T* __restrict p_out = out.data(); | 341 | | | 342 | 121 | while (p_in < limit) { | 343 | 80 | Op::compute(p_in, mm_scale, p_out); | 344 | 80 | p_in += data_count; | 345 | 80 | p_out += data_count; | 346 | 80 | } | 347 | | | 348 | 41 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 41 | } |
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 21 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 21 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 21 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 21 | const T* end_in = in.data() + in.size(); | 337 | 21 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 21 | const T* __restrict p_in = in.data(); | 340 | 21 | T* __restrict p_out = out.data(); | 341 | | | 342 | 90 | while (p_in < limit) { | 343 | 69 | Op::compute(p_in, mm_scale, p_out); | 344 | 69 | p_in += data_count; | 345 | 69 | p_out += data_count; | 346 | 69 | } | 347 | | | 348 | 21 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 21 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 463 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 463 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 463 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 463 | const T* end_in = in.data() + in.size(); | 337 | 463 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 463 | const T* __restrict p_in = in.data(); | 340 | 463 | T* __restrict p_out = out.data(); | 341 | | | 342 | 4.20k | while (p_in < limit) { | 343 | 3.74k | Op::compute(p_in, mm_scale, p_out); | 344 | 3.74k | p_in += data_count; | 345 | 3.74k | p_out += data_count; | 346 | 3.74k | } | 347 | | | 348 | 463 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 463 | } |
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 24 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 24 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 24 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 24 | const T* end_in = in.data() + in.size(); | 337 | 24 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 24 | const T* __restrict p_in = in.data(); | 340 | 24 | T* __restrict p_out = out.data(); | 341 | | | 342 | 85 | while (p_in < limit) { | 343 | 61 | Op::compute(p_in, mm_scale, p_out); | 344 | 61 | p_in += data_count; | 345 | 61 | p_out += data_count; | 346 | 61 | } | 347 | | | 348 | 24 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 24 | } |
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 11 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 11 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 11 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 11 | const T* end_in = in.data() + in.size(); | 337 | 11 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 11 | const T* __restrict p_in = in.data(); | 340 | 11 | T* __restrict p_out = out.data(); | 341 | | | 342 | 42 | while (p_in < limit) { | 343 | 31 | Op::compute(p_in, mm_scale, p_out); | 344 | 31 | p_in += data_count; | 345 | 31 | p_out += data_count; | 346 | 31 | } | 347 | | | 348 | 11 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 11 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Line | Count | Source | 331 | 8 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { | 332 | 8 | auto mm_scale = Op::prepare(scale); | 333 | | | 334 | 8 | const size_t data_count = std::tuple_size<Data>(); | 335 | | | 336 | 8 | const T* end_in = in.data() + in.size(); | 337 | 8 | const T* limit = in.data() + in.size() / data_count * data_count; | 338 | | | 339 | 8 | const T* __restrict p_in = in.data(); | 340 | 8 | T* __restrict p_out = out.data(); | 341 | | | 342 | 33 | while (p_in < limit) { | 343 | 25 | Op::compute(p_in, mm_scale, p_out); | 344 | 25 | p_in += data_count; | 345 | 25 | p_out += data_count; | 346 | 25 | } | 347 | | | 348 | 8 | if (p_in < end_in) { | 349 | 0 | Data tmp_src {{}}; | 350 | 0 | Data tmp_dst; | 351 | |
| 352 | 0 | size_t tail_size_bytes = (end_in - p_in) * sizeof(*p_in); | 353 | |
| 354 | 0 | memcpy(&tmp_src, p_in, tail_size_bytes); | 355 | 0 | Op::compute(reinterpret_cast<T*>(&tmp_src), mm_scale, reinterpret_cast<T*>(&tmp_dst)); | 356 | 0 | memcpy(p_out, &tmp_dst, tail_size_bytes); | 357 | 0 | } | 358 | 8 | } |
Unexecuted instantiation: _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ |
359 | | |
360 | 133 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { |
361 | 133 | auto mm_scale = Op::prepare(scale); |
362 | 133 | Op::compute(&in, mm_scale, &out); |
363 | 133 | } _ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 14 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 14 | auto mm_scale = Op::prepare(scale); | 362 | 14 | Op::compute(&in, mm_scale, &out); | 363 | 14 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 5 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 5 | auto mm_scale = Op::prepare(scale); | 362 | 5 | Op::compute(&in, mm_scale, &out); | 363 | 5 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 12 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 12 | auto mm_scale = Op::prepare(scale); | 362 | 12 | Op::compute(&in, mm_scale, &out); | 363 | 12 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 8 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 8 | auto mm_scale = Op::prepare(scale); | 362 | 8 | Op::compute(&in, mm_scale, &out); | 363 | 8 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKfmRf Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE8ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKfmRf Line | Count | Source | 360 | 2 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 2 | auto mm_scale = Op::prepare(scale); | 362 | 2 | Op::compute(&in, mm_scale, &out); | 363 | 2 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKdmRd Line | Count | Source | 360 | 4 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 4 | auto mm_scale = Op::prepare(scale); | 362 | 4 | Op::compute(&in, mm_scale, &out); | 363 | 4 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
_ZN5doris17FloatRoundingImplILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKdmRd Line | Count | Source | 360 | 6 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { | 361 | 6 | auto mm_scale = Op::prepare(scale); | 362 | 6 | Op::compute(&in, mm_scale, &out); | 363 | 6 | } |
|
364 | | }; |
365 | | |
366 | | template <PrimitiveType Type, RoundingMode rounding_mode, ScaleMode scale_mode, |
367 | | TieBreakingMode tie_breaking_mode> |
368 | | struct IntegerRoundingImpl { |
369 | | private: |
370 | | using T = typename PrimitiveTypeTraits<Type>::CppType; |
371 | | using Op = |
372 | | IntegerRoundingComputation<Type, rounding_mode, scale_mode, tie_breaking_mode, size_t>; |
373 | | using Container = typename ColumnVector<Type>::Container; |
374 | | |
375 | | public: |
376 | | template <size_t scale> |
377 | 0 | static NO_INLINE void applyImpl(const Container& in, Container& out) { |
378 | 0 | const T* end_in = in.data() + in.size(); |
379 | |
|
380 | 0 | const T* __restrict p_in = in.data(); |
381 | 0 | T* __restrict p_out = out.data(); |
382 | |
|
383 | 0 | while (p_in < end_in) { |
384 | 0 | Op::compute(p_in, scale, p_out, 1); |
385 | 0 | ++p_in; |
386 | 0 | ++p_out; |
387 | 0 | } |
388 | 0 | } Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm100000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm1000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE9applyImplILm10000000000000000000EEEvRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERSB_ |
389 | | |
390 | 0 | static NO_INLINE void apply(const Container& in, size_t scale, Container& out) { |
391 | | /// Manual function cloning for compiler to generate integer division by constant. |
392 | 0 | switch (scale) { |
393 | 0 | case 1ULL: |
394 | 0 | return applyImpl<1ULL>(in, out); |
395 | 0 | case 10ULL: |
396 | 0 | return applyImpl<10ULL>(in, out); |
397 | 0 | case 100ULL: |
398 | 0 | return applyImpl<100ULL>(in, out); |
399 | 0 | case 1000ULL: |
400 | 0 | return applyImpl<1000ULL>(in, out); |
401 | 0 | case 10000ULL: |
402 | 0 | return applyImpl<10000ULL>(in, out); |
403 | 0 | case 100000ULL: |
404 | 0 | return applyImpl<100000ULL>(in, out); |
405 | 0 | case 1000000ULL: |
406 | 0 | return applyImpl<1000000ULL>(in, out); |
407 | 0 | case 10000000ULL: |
408 | 0 | return applyImpl<10000000ULL>(in, out); |
409 | 0 | case 100000000ULL: |
410 | 0 | return applyImpl<100000000ULL>(in, out); |
411 | 0 | case 1000000000ULL: |
412 | 0 | return applyImpl<1000000000ULL>(in, out); |
413 | 0 | case 10000000000ULL: |
414 | 0 | return applyImpl<10000000000ULL>(in, out); |
415 | 0 | case 100000000000ULL: |
416 | 0 | return applyImpl<100000000000ULL>(in, out); |
417 | 0 | case 1000000000000ULL: |
418 | 0 | return applyImpl<1000000000000ULL>(in, out); |
419 | 0 | case 10000000000000ULL: |
420 | 0 | return applyImpl<10000000000000ULL>(in, out); |
421 | 0 | case 100000000000000ULL: |
422 | 0 | return applyImpl<100000000000000ULL>(in, out); |
423 | 0 | case 1000000000000000ULL: |
424 | 0 | return applyImpl<1000000000000000ULL>(in, out); |
425 | 0 | case 10000000000000000ULL: |
426 | 0 | return applyImpl<10000000000000000ULL>(in, out); |
427 | 0 | case 100000000000000000ULL: |
428 | 0 | return applyImpl<100000000000000000ULL>(in, out); |
429 | 0 | case 1000000000000000000ULL: |
430 | 0 | return applyImpl<1000000000000000000ULL>(in, out); |
431 | 0 | case 10000000000000000000ULL: |
432 | 0 | return applyImpl<10000000000000000000ULL>(in, out); |
433 | 0 | default: |
434 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
435 | 0 | "IntegerRoundingImpl __builtin_unreachable ", scale); |
436 | 0 | __builtin_unreachable(); |
437 | 0 | } |
438 | 0 | } Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE11ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE9ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE2ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE0ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE10ELNS_9ScaleModeE1ELNS_15TieBreakingModeE0EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE2ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE3ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE4ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE5ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE6ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE2ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE0ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ Unexecuted instantiation: _ZN5doris19IntegerRoundingImplILNS_13PrimitiveTypeE7ELNS_12RoundingModeE8ELNS_9ScaleModeE1ELNS_15TieBreakingModeE1EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEmRSA_ |
439 | | |
440 | 0 | static NO_INLINE void apply(const T& in, size_t scale, T& out) { |
441 | 0 | Op::compute(&in, scale, &out, 1); |
442 | 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 |
443 | | }; |
444 | | |
445 | | /** Select the appropriate processing algorithm depending on the scale. |
446 | | */ |
447 | | template <PrimitiveType T, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode> |
448 | | struct Dispatcher { |
449 | | template <ScaleMode scale_mode> |
450 | | using FunctionRoundingImpl = std::conditional_t< |
451 | | is_decimal(T), DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>, |
452 | | std::conditional_t< |
453 | | is_float_or_double(T) || T == TYPE_TIME || T == TYPE_TIMEV2, |
454 | | FloatRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>, |
455 | | IntegerRoundingImpl<T, rounding_mode, scale_mode, tie_breaking_mode>>>; |
456 | | |
457 | | // scale_arg: scale for function computation |
458 | | // result_scale: scale for result decimal, this scale is got from planner |
459 | | static ColumnPtr apply_vec_const(const IColumn* col_general, const Int16 scale_arg, |
460 | 2.30k | [[maybe_unused]] Int16 result_scale) { |
461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || |
462 | 604 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { |
463 | 604 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); |
464 | 604 | auto col_res = ColumnVector<T>::create(); |
465 | | |
466 | 604 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); |
467 | 604 | vec_res.resize(col->get_data().size()); |
468 | | |
469 | 606 | if (!vec_res.empty()) { |
470 | 606 | if (scale_arg == 0) { |
471 | 107 | size_t scale = 1; |
472 | 107 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); |
473 | 499 | } else if (scale_arg > 0) { |
474 | 491 | size_t scale = int_exp10(scale_arg); |
475 | 491 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, |
476 | 491 | vec_res); |
477 | 491 | } else { |
478 | 8 | size_t scale = int_exp10(-scale_arg); |
479 | 8 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, |
480 | 8 | vec_res); |
481 | 8 | } |
482 | 606 | } |
483 | | |
484 | 604 | return col_res; |
485 | 604 | } else if constexpr (T == TYPE_DECIMALV2) { |
486 | 0 | const auto* const decimal_col = |
487 | 0 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); |
488 | 0 | const auto& vec_src = decimal_col->get_data(); |
489 | 0 | const size_t input_rows_count = vec_src.size(); |
490 | 0 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); |
491 | 0 | auto& vec_res = col_res->get_data(); |
492 | |
|
493 | 0 | if (!vec_res.empty()) { |
494 | 0 | FunctionRoundingImpl<ScaleMode::Negative>::apply( |
495 | 0 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); |
496 | 0 | } |
497 | | // We need to always make sure result decimal's scale is as expected as its in plan |
498 | | // So we need to append enough zero to result. |
499 | | |
500 | | // Case 0: scale_arg <= -(integer part digits count) |
501 | | // do nothing, because result is 0 |
502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) |
504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
506 | | // Case 3: scale_arg >= input_scale |
507 | | // do nothing |
508 | |
|
509 | 0 | if (scale_arg <= 0) { |
510 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { |
511 | 0 | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); |
512 | 0 | } |
513 | 0 | } else if (scale_arg > 0 && scale_arg < result_scale) { |
514 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { |
515 | 0 | vec_res[i] = DecimalV2Value(vec_res[i].value() * |
516 | 0 | int_exp10(result_scale - scale_arg)); |
517 | 0 | } |
518 | 0 | } |
519 | |
|
520 | 0 | return col_res; |
521 | 1.70k | } else if constexpr (is_decimal(T)) { |
522 | 1.70k | const auto* const decimal_col = |
523 | 1.70k | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); |
524 | 1.70k | const auto& vec_src = decimal_col->get_data(); |
525 | 1.70k | const size_t input_rows_count = vec_src.size(); |
526 | 1.70k | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); |
527 | 1.70k | auto& vec_res = col_res->get_data(); |
528 | | |
529 | 1.70k | if (!vec_res.empty()) { |
530 | 1.70k | FunctionRoundingImpl<ScaleMode::Negative>::apply( |
531 | 1.70k | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); |
532 | 1.70k | } |
533 | | // We need to always make sure result decimal's scale is as expected as its in plan |
534 | | // So we need to append enough zero to result. |
535 | | |
536 | | // Case 0: scale_arg <= -(integer part digits count) |
537 | | // do nothing, because result is 0 |
538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) |
540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
542 | | // Case 3: scale_arg >= input_scale |
543 | | // do nothing |
544 | | |
545 | 1.70k | if (scale_arg <= 0) { |
546 | 3.94k | for (size_t i = 0; i < input_rows_count; ++i) { |
547 | 2.63k | vec_res[i].value *= int_exp10(result_scale); |
548 | 2.63k | } |
549 | 1.30k | } else if (scale_arg > 0 && scale_arg < result_scale) { |
550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { |
551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); |
552 | 0 | } |
553 | 0 | } |
554 | | |
555 | 1.70k | return col_res; |
556 | | } else { |
557 | | static_assert(false); |
558 | | } |
559 | 2.30k | } 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 | 460 | 38 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | 38 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | 38 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | 38 | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | 38 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | 38 | vec_res.resize(col->get_data().size()); | 468 | | | 469 | 38 | if (!vec_res.empty()) { | 470 | 38 | if (scale_arg == 0) { | 471 | 10 | size_t scale = 1; | 472 | 10 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | 28 | } else if (scale_arg > 0) { | 474 | 20 | size_t scale = int_exp10(scale_arg); | 475 | 20 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | 20 | vec_res); | 477 | 20 | } else { | 478 | 8 | size_t scale = int_exp10(-scale_arg); | 479 | 8 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | 8 | vec_res); | 481 | 8 | } | 482 | 38 | } | 483 | | | 484 | 38 | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | | } else if constexpr (is_decimal(T)) { | 522 | | const auto* const decimal_col = | 523 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | | const auto& vec_src = decimal_col->get_data(); | 525 | | const size_t input_rows_count = vec_src.size(); | 526 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | | auto& vec_res = col_res->get_data(); | 528 | | | 529 | | if (!vec_res.empty()) { | 530 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | | if (scale_arg <= 0) { | 546 | | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | | vec_res[i].value *= int_exp10(result_scale); | 548 | | } | 549 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | | } | 553 | | } | 554 | | | 555 | | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 38 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 30 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 30 | } else if constexpr (is_decimal(T)) { | 522 | 30 | const auto* const decimal_col = | 523 | 30 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 30 | const auto& vec_src = decimal_col->get_data(); | 525 | 30 | const size_t input_rows_count = vec_src.size(); | 526 | 30 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 30 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 30 | if (!vec_res.empty()) { | 530 | 30 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 30 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 30 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 30 | if (scale_arg <= 0) { | 546 | 26 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 13 | vec_res[i].value *= int_exp10(result_scale); | 548 | 13 | } | 549 | 17 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 30 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 30 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 26 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 26 | } else if constexpr (is_decimal(T)) { | 522 | 26 | const auto* const decimal_col = | 523 | 26 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 26 | const auto& vec_src = decimal_col->get_data(); | 525 | 26 | const size_t input_rows_count = vec_src.size(); | 526 | 26 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 26 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 26 | if (!vec_res.empty()) { | 530 | 26 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 26 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 26 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 26 | if (scale_arg <= 0) { | 546 | 26 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 13 | vec_res[i].value *= int_exp10(result_scale); | 548 | 13 | } | 549 | 13 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 26 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 26 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 15 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 15 | } else if constexpr (is_decimal(T)) { | 522 | 15 | const auto* const decimal_col = | 523 | 15 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 15 | const auto& vec_src = decimal_col->get_data(); | 525 | 15 | const size_t input_rows_count = vec_src.size(); | 526 | 15 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 15 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 15 | if (!vec_res.empty()) { | 530 | 15 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 15 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 15 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 15 | if (scale_arg <= 0) { | 546 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 4 | vec_res[i].value *= int_exp10(result_scale); | 548 | 4 | } | 549 | 11 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 15 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 15 | } |
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 | 460 | 40 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | 40 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | 40 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | 40 | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | 40 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | 40 | vec_res.resize(col->get_data().size()); | 468 | | | 469 | 41 | if (!vec_res.empty()) { | 470 | 41 | if (scale_arg == 0) { | 471 | 41 | size_t scale = 1; | 472 | 41 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | 41 | } else if (scale_arg > 0) { | 474 | 0 | size_t scale = int_exp10(scale_arg); | 475 | 0 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | 0 | vec_res); | 477 | 0 | } else { | 478 | 0 | size_t scale = int_exp10(-scale_arg); | 479 | 0 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | 0 | vec_res); | 481 | 0 | } | 482 | 41 | } | 483 | | | 484 | 40 | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | | } else if constexpr (is_decimal(T)) { | 522 | | const auto* const decimal_col = | 523 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | | const auto& vec_src = decimal_col->get_data(); | 525 | | const size_t input_rows_count = vec_src.size(); | 526 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | | auto& vec_res = col_res->get_data(); | 528 | | | 529 | | if (!vec_res.empty()) { | 530 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | | if (scale_arg <= 0) { | 546 | | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | | vec_res[i].value *= int_exp10(result_scale); | 548 | | } | 549 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | | } | 553 | | } | 554 | | | 555 | | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 40 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 37 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 37 | } else if constexpr (is_decimal(T)) { | 522 | 37 | const auto* const decimal_col = | 523 | 37 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 37 | const auto& vec_src = decimal_col->get_data(); | 525 | 37 | const size_t input_rows_count = vec_src.size(); | 526 | 37 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 37 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 37 | if (!vec_res.empty()) { | 530 | 37 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 37 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 37 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 37 | if (scale_arg <= 0) { | 546 | 70 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 52 | vec_res[i].value *= int_exp10(result_scale); | 548 | 52 | } | 549 | 19 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 37 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 37 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 237 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 237 | } else if constexpr (is_decimal(T)) { | 522 | 237 | const auto* const decimal_col = | 523 | 237 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 237 | const auto& vec_src = decimal_col->get_data(); | 525 | 237 | const size_t input_rows_count = vec_src.size(); | 526 | 237 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 237 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 237 | if (!vec_res.empty()) { | 530 | 237 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 237 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 237 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 237 | if (scale_arg <= 0) { | 546 | 1.26k | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 1.05k | vec_res[i].value *= int_exp10(result_scale); | 548 | 1.05k | } | 549 | 217 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 237 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 237 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 48 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 48 | } else if constexpr (is_decimal(T)) { | 522 | 48 | const auto* const decimal_col = | 523 | 48 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 48 | const auto& vec_src = decimal_col->get_data(); | 525 | 48 | const size_t input_rows_count = vec_src.size(); | 526 | 48 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 48 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 48 | if (!vec_res.empty()) { | 530 | 48 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 48 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 48 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 48 | if (scale_arg <= 0) { | 546 | 94 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 65 | vec_res[i].value *= int_exp10(result_scale); | 548 | 65 | } | 549 | 29 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 48 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 48 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss 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 | 460 | 483 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | 483 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | 483 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | 483 | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | 483 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | 483 | vec_res.resize(col->get_data().size()); | 468 | | | 469 | 484 | if (!vec_res.empty()) { | 470 | 484 | if (scale_arg == 0) { | 471 | 21 | size_t scale = 1; | 472 | 21 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | 463 | } else if (scale_arg > 0) { | 474 | 463 | size_t scale = int_exp10(scale_arg); | 475 | 463 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | 463 | vec_res); | 477 | 463 | } else { | 478 | 0 | size_t scale = int_exp10(-scale_arg); | 479 | 0 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | 0 | vec_res); | 481 | 0 | } | 482 | 484 | } | 483 | | | 484 | 483 | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | | } else if constexpr (is_decimal(T)) { | 522 | | const auto* const decimal_col = | 523 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | | const auto& vec_src = decimal_col->get_data(); | 525 | | const size_t input_rows_count = vec_src.size(); | 526 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | | auto& vec_res = col_res->get_data(); | 528 | | | 529 | | if (!vec_res.empty()) { | 530 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | | if (scale_arg <= 0) { | 546 | | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | | vec_res[i].value *= int_exp10(result_scale); | 548 | | } | 549 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | | } | 553 | | } | 554 | | | 555 | | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 483 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 38 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 38 | } else if constexpr (is_decimal(T)) { | 522 | 38 | const auto* const decimal_col = | 523 | 38 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 38 | const auto& vec_src = decimal_col->get_data(); | 525 | 38 | const size_t input_rows_count = vec_src.size(); | 526 | 38 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 38 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 38 | if (!vec_res.empty()) { | 530 | 38 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 38 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 38 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 38 | if (scale_arg <= 0) { | 546 | 70 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 52 | vec_res[i].value *= int_exp10(result_scale); | 548 | 52 | } | 549 | 20 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 38 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 38 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 43 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 43 | } else if constexpr (is_decimal(T)) { | 522 | 43 | const auto* const decimal_col = | 523 | 43 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 43 | const auto& vec_src = decimal_col->get_data(); | 525 | 43 | const size_t input_rows_count = vec_src.size(); | 526 | 43 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 43 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 43 | if (!vec_res.empty()) { | 530 | 43 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 43 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 43 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 43 | if (scale_arg <= 0) { | 546 | 101 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 77 | vec_res[i].value *= int_exp10(result_scale); | 548 | 77 | } | 549 | 24 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 43 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 43 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 937 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 937 | } else if constexpr (is_decimal(T)) { | 522 | 937 | const auto* const decimal_col = | 523 | 937 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 937 | const auto& vec_src = decimal_col->get_data(); | 525 | 937 | const size_t input_rows_count = vec_src.size(); | 526 | 937 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 937 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 937 | if (!vec_res.empty()) { | 530 | 937 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 937 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 937 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 937 | if (scale_arg <= 0) { | 546 | 1.60k | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 821 | vec_res[i].value *= int_exp10(result_scale); | 548 | 821 | } | 549 | 782 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 937 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 937 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 14 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 14 | } else if constexpr (is_decimal(T)) { | 522 | 14 | const auto* const decimal_col = | 523 | 14 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 14 | const auto& vec_src = decimal_col->get_data(); | 525 | 14 | const size_t input_rows_count = vec_src.size(); | 526 | 14 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 14 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 14 | if (!vec_res.empty()) { | 530 | 14 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 14 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 14 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 14 | if (scale_arg <= 0) { | 546 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 0 | vec_res[i].value *= int_exp10(result_scale); | 548 | 0 | } | 549 | 14 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 14 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 14 | } |
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 | 460 | 24 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | 24 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | 24 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | 24 | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | 24 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | 24 | vec_res.resize(col->get_data().size()); | 468 | | | 469 | 24 | if (!vec_res.empty()) { | 470 | 24 | if (scale_arg == 0) { | 471 | 24 | size_t scale = 1; | 472 | 24 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | 24 | } else if (scale_arg > 0) { | 474 | 0 | size_t scale = int_exp10(scale_arg); | 475 | 0 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | 0 | vec_res); | 477 | 0 | } else { | 478 | 0 | size_t scale = int_exp10(-scale_arg); | 479 | 0 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | 0 | vec_res); | 481 | 0 | } | 482 | 24 | } | 483 | | | 484 | 24 | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | | } else if constexpr (is_decimal(T)) { | 522 | | const auto* const decimal_col = | 523 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | | const auto& vec_src = decimal_col->get_data(); | 525 | | const size_t input_rows_count = vec_src.size(); | 526 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | | auto& vec_res = col_res->get_data(); | 528 | | | 529 | | if (!vec_res.empty()) { | 530 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | | if (scale_arg <= 0) { | 546 | | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | | vec_res[i].value *= int_exp10(result_scale); | 548 | | } | 549 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | | } | 553 | | } | 554 | | | 555 | | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 24 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 36 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 36 | } else if constexpr (is_decimal(T)) { | 522 | 36 | const auto* const decimal_col = | 523 | 36 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 36 | const auto& vec_src = decimal_col->get_data(); | 525 | 36 | const size_t input_rows_count = vec_src.size(); | 526 | 36 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 36 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 36 | if (!vec_res.empty()) { | 530 | 36 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 36 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 36 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 36 | if (scale_arg <= 0) { | 546 | 70 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 52 | vec_res[i].value *= int_exp10(result_scale); | 548 | 52 | } | 549 | 18 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 36 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 36 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 39 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 39 | } else if constexpr (is_decimal(T)) { | 522 | 39 | const auto* const decimal_col = | 523 | 39 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 39 | const auto& vec_src = decimal_col->get_data(); | 525 | 39 | const size_t input_rows_count = vec_src.size(); | 526 | 39 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 39 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 39 | if (!vec_res.empty()) { | 530 | 39 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 39 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 39 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 39 | if (scale_arg <= 0) { | 546 | 90 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 69 | vec_res[i].value *= int_exp10(result_scale); | 548 | 69 | } | 549 | 21 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 39 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 39 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 53 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 53 | } else if constexpr (is_decimal(T)) { | 522 | 53 | const auto* const decimal_col = | 523 | 53 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 53 | const auto& vec_src = decimal_col->get_data(); | 525 | 53 | const size_t input_rows_count = vec_src.size(); | 526 | 53 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 53 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 53 | if (!vec_res.empty()) { | 530 | 53 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 53 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 53 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 53 | if (scale_arg <= 0) { | 546 | 106 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 71 | vec_res[i].value *= int_exp10(result_scale); | 548 | 71 | } | 549 | 35 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 53 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 53 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_vec_constEPKNS_7IColumnEss 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 | 460 | 19 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | 19 | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | 19 | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | 19 | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | 19 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | 19 | vec_res.resize(col->get_data().size()); | 468 | | | 469 | 19 | if (!vec_res.empty()) { | 470 | 19 | if (scale_arg == 0) { | 471 | 11 | size_t scale = 1; | 472 | 11 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | 11 | } else if (scale_arg > 0) { | 474 | 8 | size_t scale = int_exp10(scale_arg); | 475 | 8 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | 8 | vec_res); | 477 | 8 | } else { | 478 | 0 | size_t scale = int_exp10(-scale_arg); | 479 | 0 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | 0 | vec_res); | 481 | 0 | } | 482 | 19 | } | 483 | | | 484 | 19 | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | | } else if constexpr (is_decimal(T)) { | 522 | | const auto* const decimal_col = | 523 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | | const auto& vec_src = decimal_col->get_data(); | 525 | | const size_t input_rows_count = vec_src.size(); | 526 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | | auto& vec_res = col_res->get_data(); | 528 | | | 529 | | if (!vec_res.empty()) { | 530 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | | if (scale_arg <= 0) { | 546 | | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | | vec_res[i].value *= int_exp10(result_scale); | 548 | | } | 549 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | | } | 553 | | } | 554 | | | 555 | | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 19 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 31 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 31 | } else if constexpr (is_decimal(T)) { | 522 | 31 | const auto* const decimal_col = | 523 | 31 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 31 | const auto& vec_src = decimal_col->get_data(); | 525 | 31 | const size_t input_rows_count = vec_src.size(); | 526 | 31 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 31 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 31 | if (!vec_res.empty()) { | 530 | 31 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 31 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 31 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 31 | if (scale_arg <= 0) { | 546 | 57 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 37 | vec_res[i].value *= int_exp10(result_scale); | 548 | 37 | } | 549 | 20 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 31 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 31 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 91 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 91 | } else if constexpr (is_decimal(T)) { | 522 | 91 | const auto* const decimal_col = | 523 | 91 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 91 | const auto& vec_src = decimal_col->get_data(); | 525 | 91 | const size_t input_rows_count = vec_src.size(); | 526 | 91 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 91 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 91 | if (!vec_res.empty()) { | 530 | 91 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 91 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 91 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 91 | if (scale_arg <= 0) { | 546 | 307 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 227 | vec_res[i].value *= int_exp10(result_scale); | 548 | 227 | } | 549 | 80 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 91 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 91 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss Line | Count | Source | 460 | 26 | [[maybe_unused]] Int16 result_scale) { | 461 | | if constexpr (is_int_or_bool(T) || is_ip(T) || is_date_type(T) || is_float_or_double(T) || | 462 | | T == TYPE_TIME || T == TYPE_TIMEV2 || T == TYPE_UINT32 || T == TYPE_UINT64) { | 463 | | const auto* const col = check_and_get_column<ColumnVector<T>>(col_general); | 464 | | auto col_res = ColumnVector<T>::create(); | 465 | | | 466 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 467 | | vec_res.resize(col->get_data().size()); | 468 | | | 469 | | if (!vec_res.empty()) { | 470 | | if (scale_arg == 0) { | 471 | | size_t scale = 1; | 472 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data(), scale, vec_res); | 473 | | } else if (scale_arg > 0) { | 474 | | size_t scale = int_exp10(scale_arg); | 475 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data(), scale, | 476 | | vec_res); | 477 | | } else { | 478 | | size_t scale = int_exp10(-scale_arg); | 479 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data(), scale, | 480 | | vec_res); | 481 | | } | 482 | | } | 483 | | | 484 | | return col_res; | 485 | | } else if constexpr (T == TYPE_DECIMALV2) { | 486 | | const auto* const decimal_col = | 487 | | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 488 | | const auto& vec_src = decimal_col->get_data(); | 489 | | const size_t input_rows_count = vec_src.size(); | 490 | | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 491 | | auto& vec_res = col_res->get_data(); | 492 | | | 493 | | if (!vec_res.empty()) { | 494 | | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 495 | | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 496 | | } | 497 | | // We need to always make sure result decimal's scale is as expected as its in plan | 498 | | // So we need to append enough zero to result. | 499 | | | 500 | | // Case 0: scale_arg <= -(integer part digits count) | 501 | | // do nothing, because result is 0 | 502 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 503 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 504 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 505 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 506 | | // Case 3: scale_arg >= input_scale | 507 | | // do nothing | 508 | | | 509 | | if (scale_arg <= 0) { | 510 | | for (size_t i = 0; i < input_rows_count; ++i) { | 511 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * int_exp10(result_scale)); | 512 | | } | 513 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 514 | | for (size_t i = 0; i < input_rows_count; ++i) { | 515 | | vec_res[i] = DecimalV2Value(vec_res[i].value() * | 516 | | int_exp10(result_scale - scale_arg)); | 517 | | } | 518 | | } | 519 | | | 520 | | return col_res; | 521 | 26 | } else if constexpr (is_decimal(T)) { | 522 | 26 | const auto* const decimal_col = | 523 | 26 | check_and_get_column<typename PrimitiveTypeTraits<T>::ColumnType>(col_general); | 524 | 26 | const auto& vec_src = decimal_col->get_data(); | 525 | 26 | const size_t input_rows_count = vec_src.size(); | 526 | 26 | auto col_res = PrimitiveTypeTraits<T>::ColumnType::create(vec_src.size(), result_scale); | 527 | 26 | auto& vec_res = col_res->get_data(); | 528 | | | 529 | 26 | if (!vec_res.empty()) { | 530 | 26 | FunctionRoundingImpl<ScaleMode::Negative>::apply( | 531 | 26 | decimal_col->get_data(), decimal_col->get_scale(), vec_res, scale_arg); | 532 | 26 | } | 533 | | // We need to always make sure result decimal's scale is as expected as its in plan | 534 | | // So we need to append enough zero to result. | 535 | | | 536 | | // Case 0: scale_arg <= -(integer part digits count) | 537 | | // do nothing, because result is 0 | 538 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 539 | | // decimal parts has been erased, so add them back by multiply 10^(result_scale) | 540 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 541 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 542 | | // Case 3: scale_arg >= input_scale | 543 | | // do nothing | 544 | | | 545 | 26 | if (scale_arg <= 0) { | 546 | 47 | for (size_t i = 0; i < input_rows_count; ++i) { | 547 | 32 | vec_res[i].value *= int_exp10(result_scale); | 548 | 32 | } | 549 | 15 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 550 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { | 551 | 0 | vec_res[i].value *= int_exp10(result_scale - scale_arg); | 552 | 0 | } | 553 | 0 | } | 554 | | | 555 | 26 | return col_res; | 556 | | } else { | 557 | | static_assert(false); | 558 | | } | 559 | 26 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_vec_constEPKNS_7IColumnEss |
560 | | |
561 | | // result_scale: scale for result decimal, this scale is got from planner |
562 | | static ColumnPtr apply_vec_vec(const IColumn* col_general, const IColumn* col_scale, |
563 | 274 | [[maybe_unused]] Int16 result_scale) { |
564 | 274 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); |
565 | 274 | const size_t input_row_count = col_scale_i32.size(); |
566 | 2.58k | for (size_t i = 0; i < input_row_count; ++i) { |
567 | 2.31k | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
568 | 2.31k | if (scale_arg > std::numeric_limits<Int16>::max() || |
569 | 2.31k | scale_arg < std::numeric_limits<Int16>::min()) { |
570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, |
571 | 0 | "Scale argument for function is out of bound: {}", |
572 | 0 | scale_arg); |
573 | 0 | } |
574 | 2.31k | } |
575 | | |
576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || |
577 | 82 | T == TYPE_TIMEV2 || T == TYPE_TIME) { |
578 | 82 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); |
579 | 82 | auto col_res = ColumnVector<T>::create(); |
580 | 82 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); |
581 | 82 | vec_res.resize(input_row_count); |
582 | | |
583 | 166 | for (size_t i = 0; i < input_row_count; ++i) { |
584 | 84 | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
585 | 84 | if (scale_arg == 0) { |
586 | 21 | size_t scale = 1; |
587 | 21 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, |
588 | 21 | vec_res[i]); |
589 | 63 | } else if (scale_arg > 0) { |
590 | 41 | size_t scale = int_exp10(scale_arg); |
591 | 41 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, |
592 | 41 | vec_res[i]); |
593 | 41 | } else { |
594 | 22 | size_t scale = int_exp10(-scale_arg); |
595 | 22 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, |
596 | 22 | vec_res[i]); |
597 | 22 | } |
598 | 84 | } |
599 | 82 | return col_res; |
600 | 82 | } else if constexpr (T == TYPE_DECIMALV2) { |
601 | 0 | const auto* decimal_col = |
602 | 0 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); |
603 | 0 | const Int32 input_scale = decimal_col->get_scale(); |
604 | 0 | auto col_res = |
605 | 0 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); |
606 | |
|
607 | 0 | for (size_t i = 0; i < input_row_count; ++i) { |
608 | 0 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( |
609 | 0 | decimal_col->get_element(i).value(), input_scale, |
610 | 0 | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); |
611 | 0 | } |
612 | |
|
613 | 0 | for (size_t i = 0; i < input_row_count; ++i) { |
614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column |
615 | | // So we need this check to make sure the result have correct digits count |
616 | | // |
617 | | // Case 0: scale_arg <= -(integer part digits count) |
618 | | // do nothing, because result is 0 |
619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) |
621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
623 | | // Case 3: scale_arg >= input_scale |
624 | | // do nothing |
625 | 0 | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
626 | 0 | if (scale_arg <= 0) { |
627 | 0 | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * |
628 | 0 | int_exp10(result_scale)); |
629 | 0 | } else if (scale_arg > 0 && scale_arg < result_scale) { |
630 | 0 | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * |
631 | 0 | int_exp10(result_scale - scale_arg)); |
632 | 0 | } |
633 | 0 | } |
634 | |
|
635 | 0 | return col_res; |
636 | 192 | } else if constexpr (is_decimal(T)) { |
637 | 192 | const auto* decimal_col = |
638 | 192 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); |
639 | 192 | const Int32 input_scale = decimal_col->get_scale(); |
640 | 192 | auto col_res = |
641 | 192 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); |
642 | | |
643 | 2.41k | for (size_t i = 0; i < input_row_count; ++i) { |
644 | 2.22k | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( |
645 | 2.22k | decimal_col->get_element(i).value, input_scale, |
646 | 2.22k | col_res->get_element(i).value, col_scale_i32.get_data()[i]); |
647 | 2.22k | } |
648 | | |
649 | 2.41k | for (size_t i = 0; i < input_row_count; ++i) { |
650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column |
651 | | // So we need this check to make sure the result have correct digits count |
652 | | // |
653 | | // Case 0: scale_arg <= -(integer part digits count) |
654 | | // do nothing, because result is 0 |
655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) |
657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
659 | | // Case 3: scale_arg >= input_scale |
660 | | // do nothing |
661 | 2.22k | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
662 | 2.22k | if (scale_arg <= 0) { |
663 | 1.09k | col_res->get_element(i).value *= int_exp10(result_scale); |
664 | 1.13k | } else if (scale_arg > 0 && scale_arg < result_scale) { |
665 | 355 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); |
666 | 355 | } |
667 | 2.22k | } |
668 | | |
669 | 192 | return col_res; |
670 | | } else { |
671 | | static_assert(false); |
672 | | } |
673 | 274 | } 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 | 563 | 4 | [[maybe_unused]] Int16 result_scale) { | 564 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 4 | const size_t input_row_count = col_scale_i32.size(); | 566 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 4 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 4 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 4 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 4 | auto col_res = ColumnVector<T>::create(); | 580 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 4 | vec_res.resize(input_row_count); | 582 | | | 583 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 4 | if (scale_arg == 0) { | 586 | 1 | size_t scale = 1; | 587 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 1 | vec_res[i]); | 589 | 3 | } else if (scale_arg > 0) { | 590 | 2 | size_t scale = int_exp10(scale_arg); | 591 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 2 | vec_res[i]); | 593 | 2 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 4 | } | 599 | 4 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 13 | [[maybe_unused]] Int16 result_scale) { | 564 | 13 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 13 | const size_t input_row_count = col_scale_i32.size(); | 566 | 26 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 13 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 13 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 13 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 13 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 13 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 13 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 13 | auto col_res = ColumnVector<T>::create(); | 580 | 13 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 13 | vec_res.resize(input_row_count); | 582 | | | 583 | 26 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 13 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 13 | if (scale_arg == 0) { | 586 | 1 | size_t scale = 1; | 587 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 1 | vec_res[i]); | 589 | 12 | } else if (scale_arg > 0) { | 590 | 11 | size_t scale = int_exp10(scale_arg); | 591 | 11 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 11 | vec_res[i]); | 593 | 11 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 13 | } | 599 | 13 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 13 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 21 | [[maybe_unused]] Int16 result_scale) { | 564 | 21 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 21 | const size_t input_row_count = col_scale_i32.size(); | 566 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 285 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 285 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 285 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 285 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 21 | } else if constexpr (is_decimal(T)) { | 637 | 21 | const auto* decimal_col = | 638 | 21 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 21 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 21 | auto col_res = | 641 | 21 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 285 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 285 | decimal_col->get_element(i).value, input_scale, | 646 | 285 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 285 | } | 648 | | | 649 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 285 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 285 | if (scale_arg <= 0) { | 663 | 151 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 151 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 37 | } | 667 | 285 | } | 668 | | | 669 | 21 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 21 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 8 | [[maybe_unused]] Int16 result_scale) { | 564 | 8 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 8 | const size_t input_row_count = col_scale_i32.size(); | 566 | 159 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 151 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 151 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 151 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 151 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 8 | } else if constexpr (is_decimal(T)) { | 637 | 8 | const auto* decimal_col = | 638 | 8 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 8 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 8 | auto col_res = | 641 | 8 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 159 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 151 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 151 | decimal_col->get_element(i).value, input_scale, | 646 | 151 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 151 | } | 648 | | | 649 | 159 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 151 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 151 | if (scale_arg <= 0) { | 663 | 71 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 80 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 27 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 27 | } | 667 | 151 | } | 668 | | | 669 | 8 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 8 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 3 | [[maybe_unused]] Int16 result_scale) { | 564 | 3 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 3 | const size_t input_row_count = col_scale_i32.size(); | 566 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 3 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 3 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 3 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 3 | } else if constexpr (is_decimal(T)) { | 637 | 3 | const auto* decimal_col = | 638 | 3 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 3 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 3 | auto col_res = | 641 | 3 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 3 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 3 | decimal_col->get_element(i).value, input_scale, | 646 | 3 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 3 | } | 648 | | | 649 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 3 | if (scale_arg <= 0) { | 663 | 0 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 3 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 2 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 2 | } | 667 | 3 | } | 668 | | | 669 | 3 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 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 | 563 | 4 | [[maybe_unused]] Int16 result_scale) { | 564 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 4 | const size_t input_row_count = col_scale_i32.size(); | 566 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 4 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 4 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 4 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 4 | auto col_res = ColumnVector<T>::create(); | 580 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 4 | vec_res.resize(input_row_count); | 582 | | | 583 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 4 | if (scale_arg == 0) { | 586 | 1 | size_t scale = 1; | 587 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 1 | vec_res[i]); | 589 | 3 | } else if (scale_arg > 0) { | 590 | 2 | size_t scale = int_exp10(scale_arg); | 591 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 2 | vec_res[i]); | 593 | 2 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 4 | } | 599 | 4 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 12 | [[maybe_unused]] Int16 result_scale) { | 564 | 12 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 12 | const size_t input_row_count = col_scale_i32.size(); | 566 | 26 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 14 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 14 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 14 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 14 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 12 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 12 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 12 | auto col_res = ColumnVector<T>::create(); | 580 | 12 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 12 | vec_res.resize(input_row_count); | 582 | | | 583 | 26 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 14 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 14 | if (scale_arg == 0) { | 586 | 4 | size_t scale = 1; | 587 | 4 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 4 | vec_res[i]); | 589 | 10 | } else if (scale_arg > 0) { | 590 | 9 | size_t scale = int_exp10(scale_arg); | 591 | 9 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 9 | vec_res[i]); | 593 | 9 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 14 | } | 599 | 12 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 12 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 21 | [[maybe_unused]] Int16 result_scale) { | 564 | 21 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 21 | const size_t input_row_count = col_scale_i32.size(); | 566 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 285 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 285 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 285 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 285 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 21 | } else if constexpr (is_decimal(T)) { | 637 | 21 | const auto* decimal_col = | 638 | 21 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 21 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 21 | auto col_res = | 641 | 21 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 285 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 285 | decimal_col->get_element(i).value, input_scale, | 646 | 285 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 285 | } | 648 | | | 649 | 306 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 285 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 285 | if (scale_arg <= 0) { | 663 | 147 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 147 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 39 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 39 | } | 667 | 285 | } | 668 | | | 669 | 21 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 21 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 14 | [[maybe_unused]] Int16 result_scale) { | 564 | 14 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 14 | const size_t input_row_count = col_scale_i32.size(); | 566 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 157 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 157 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 157 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 14 | } else if constexpr (is_decimal(T)) { | 637 | 14 | const auto* decimal_col = | 638 | 14 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 14 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 14 | auto col_res = | 641 | 14 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 157 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 157 | decimal_col->get_element(i).value, input_scale, | 646 | 157 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 157 | } | 648 | | | 649 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 157 | if (scale_arg <= 0) { | 663 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 87 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 32 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 32 | } | 667 | 157 | } | 668 | | | 669 | 14 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 14 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 4 | [[maybe_unused]] Int16 result_scale) { | 564 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 4 | const size_t input_row_count = col_scale_i32.size(); | 566 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 4 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 4 | } else if constexpr (is_decimal(T)) { | 637 | 4 | const auto* decimal_col = | 638 | 4 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 4 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 4 | auto col_res = | 641 | 4 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 4 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 4 | decimal_col->get_element(i).value, input_scale, | 646 | 4 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 4 | } | 648 | | | 649 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 4 | if (scale_arg <= 0) { | 663 | 0 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 4 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 2 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 2 | } | 667 | 4 | } | 668 | | | 669 | 4 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 4 | } |
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 | 563 | 5 | [[maybe_unused]] Int16 result_scale) { | 564 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 5 | const size_t input_row_count = col_scale_i32.size(); | 566 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 5 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 5 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 5 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 5 | auto col_res = ColumnVector<T>::create(); | 580 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 5 | vec_res.resize(input_row_count); | 582 | | | 583 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 5 | if (scale_arg == 0) { | 586 | 2 | size_t scale = 1; | 587 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 2 | vec_res[i]); | 589 | 3 | } else if (scale_arg > 0) { | 590 | 2 | size_t scale = int_exp10(scale_arg); | 591 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 2 | vec_res[i]); | 593 | 2 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 5 | } | 599 | 5 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 10 | [[maybe_unused]] Int16 result_scale) { | 564 | 10 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 10 | const size_t input_row_count = col_scale_i32.size(); | 566 | 20 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 10 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 10 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 10 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 10 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 10 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 10 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 10 | auto col_res = ColumnVector<T>::create(); | 580 | 10 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 10 | vec_res.resize(input_row_count); | 582 | | | 583 | 20 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 10 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 10 | if (scale_arg == 0) { | 586 | 2 | size_t scale = 1; | 587 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 2 | vec_res[i]); | 589 | 8 | } else if (scale_arg > 0) { | 590 | 3 | size_t scale = int_exp10(scale_arg); | 591 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 3 | vec_res[i]); | 593 | 5 | } else { | 594 | 5 | size_t scale = int_exp10(-scale_arg); | 595 | 5 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 5 | vec_res[i]); | 597 | 5 | } | 598 | 10 | } | 599 | 10 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 10 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 22 | [[maybe_unused]] Int16 result_scale) { | 564 | 22 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 22 | const size_t input_row_count = col_scale_i32.size(); | 566 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 286 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 286 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 286 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 286 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 22 | } else if constexpr (is_decimal(T)) { | 637 | 22 | const auto* decimal_col = | 638 | 22 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 22 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 22 | auto col_res = | 641 | 22 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 286 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 286 | decimal_col->get_element(i).value, input_scale, | 646 | 286 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 286 | } | 648 | | | 649 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 286 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 286 | if (scale_arg <= 0) { | 663 | 148 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 148 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 39 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 39 | } | 667 | 286 | } | 668 | | | 669 | 22 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 22 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 14 | [[maybe_unused]] Int16 result_scale) { | 564 | 14 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 14 | const size_t input_row_count = col_scale_i32.size(); | 566 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 157 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 157 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 157 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 14 | } else if constexpr (is_decimal(T)) { | 637 | 14 | const auto* decimal_col = | 638 | 14 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 14 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 14 | auto col_res = | 641 | 14 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 157 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 157 | decimal_col->get_element(i).value, input_scale, | 646 | 157 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 157 | } | 648 | | | 649 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 157 | if (scale_arg <= 0) { | 663 | 71 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 86 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 31 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 31 | } | 667 | 157 | } | 668 | | | 669 | 14 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 14 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 5 | [[maybe_unused]] Int16 result_scale) { | 564 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 5 | const size_t input_row_count = col_scale_i32.size(); | 566 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 5 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 5 | } else if constexpr (is_decimal(T)) { | 637 | 5 | const auto* decimal_col = | 638 | 5 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 5 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 5 | auto col_res = | 641 | 5 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 5 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 5 | decimal_col->get_element(i).value, input_scale, | 646 | 5 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 5 | } | 648 | | | 649 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 5 | if (scale_arg <= 0) { | 663 | 2 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 3 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 2 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 2 | } | 667 | 5 | } | 668 | | | 669 | 5 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 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 | 563 | 4 | [[maybe_unused]] Int16 result_scale) { | 564 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 4 | const size_t input_row_count = col_scale_i32.size(); | 566 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 4 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 4 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 4 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 4 | auto col_res = ColumnVector<T>::create(); | 580 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 4 | vec_res.resize(input_row_count); | 582 | | | 583 | 8 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 4 | if (scale_arg == 0) { | 586 | 1 | size_t scale = 1; | 587 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 1 | vec_res[i]); | 589 | 3 | } else if (scale_arg > 0) { | 590 | 2 | size_t scale = int_exp10(scale_arg); | 591 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 2 | vec_res[i]); | 593 | 2 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 4 | } | 599 | 4 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 15 | [[maybe_unused]] Int16 result_scale) { | 564 | 15 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 15 | const size_t input_row_count = col_scale_i32.size(); | 566 | 30 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 15 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 15 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 15 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 15 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 15 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 15 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 15 | auto col_res = ColumnVector<T>::create(); | 580 | 15 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 15 | vec_res.resize(input_row_count); | 582 | | | 583 | 30 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 15 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 15 | if (scale_arg == 0) { | 586 | 5 | size_t scale = 1; | 587 | 5 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 5 | vec_res[i]); | 589 | 10 | } else if (scale_arg > 0) { | 590 | 5 | size_t scale = int_exp10(scale_arg); | 591 | 5 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 5 | vec_res[i]); | 593 | 5 | } else { | 594 | 5 | size_t scale = int_exp10(-scale_arg); | 595 | 5 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 5 | vec_res[i]); | 597 | 5 | } | 598 | 15 | } | 599 | 15 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 15 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 22 | [[maybe_unused]] Int16 result_scale) { | 564 | 22 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 22 | const size_t input_row_count = col_scale_i32.size(); | 566 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 286 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 286 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 286 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 286 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 22 | } else if constexpr (is_decimal(T)) { | 637 | 22 | const auto* decimal_col = | 638 | 22 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 22 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 22 | auto col_res = | 641 | 22 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 286 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 286 | decimal_col->get_element(i).value, input_scale, | 646 | 286 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 286 | } | 648 | | | 649 | 308 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 286 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 286 | if (scale_arg <= 0) { | 663 | 148 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 148 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 39 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 39 | } | 667 | 286 | } | 668 | | | 669 | 22 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 22 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 13 | [[maybe_unused]] Int16 result_scale) { | 564 | 13 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 13 | const size_t input_row_count = col_scale_i32.size(); | 566 | 169 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 156 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 156 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 156 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 156 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 13 | } else if constexpr (is_decimal(T)) { | 637 | 13 | const auto* decimal_col = | 638 | 13 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 13 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 13 | auto col_res = | 641 | 13 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 169 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 156 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 156 | decimal_col->get_element(i).value, input_scale, | 646 | 156 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 156 | } | 648 | | | 649 | 169 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 156 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 156 | if (scale_arg <= 0) { | 663 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 86 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 31 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 31 | } | 667 | 156 | } | 668 | | | 669 | 13 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 13 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 3 | [[maybe_unused]] Int16 result_scale) { | 564 | 3 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 3 | const size_t input_row_count = col_scale_i32.size(); | 566 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 3 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 3 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 3 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 3 | } else if constexpr (is_decimal(T)) { | 637 | 3 | const auto* decimal_col = | 638 | 3 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 3 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 3 | auto col_res = | 641 | 3 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 3 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 3 | decimal_col->get_element(i).value, input_scale, | 646 | 3 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 3 | } | 648 | | | 649 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 3 | if (scale_arg <= 0) { | 663 | 0 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 3 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 2 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 2 | } | 667 | 3 | } | 668 | | | 669 | 3 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 3 | } |
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 | 563 | 5 | [[maybe_unused]] Int16 result_scale) { | 564 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 5 | const size_t input_row_count = col_scale_i32.size(); | 566 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 5 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 5 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 5 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 5 | auto col_res = ColumnVector<T>::create(); | 580 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 5 | vec_res.resize(input_row_count); | 582 | | | 583 | 10 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 5 | if (scale_arg == 0) { | 586 | 2 | size_t scale = 1; | 587 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 2 | vec_res[i]); | 589 | 3 | } else if (scale_arg > 0) { | 590 | 2 | size_t scale = int_exp10(scale_arg); | 591 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 2 | vec_res[i]); | 593 | 2 | } else { | 594 | 1 | size_t scale = int_exp10(-scale_arg); | 595 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 1 | vec_res[i]); | 597 | 1 | } | 598 | 5 | } | 599 | 5 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 10 | [[maybe_unused]] Int16 result_scale) { | 564 | 10 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 10 | const size_t input_row_count = col_scale_i32.size(); | 566 | 20 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 10 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 10 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 10 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 10 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | 10 | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | 10 | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | 10 | auto col_res = ColumnVector<T>::create(); | 580 | 10 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | 10 | vec_res.resize(input_row_count); | 582 | | | 583 | 20 | for (size_t i = 0; i < input_row_count; ++i) { | 584 | 10 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | 10 | if (scale_arg == 0) { | 586 | 2 | size_t scale = 1; | 587 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | 2 | vec_res[i]); | 589 | 8 | } else if (scale_arg > 0) { | 590 | 3 | size_t scale = int_exp10(scale_arg); | 591 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | 3 | vec_res[i]); | 593 | 5 | } else { | 594 | 5 | size_t scale = int_exp10(-scale_arg); | 595 | 5 | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | 5 | vec_res[i]); | 597 | 5 | } | 598 | 10 | } | 599 | 10 | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | | } else if constexpr (is_decimal(T)) { | 637 | | const auto* decimal_col = | 638 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | | const Int32 input_scale = decimal_col->get_scale(); | 640 | | auto col_res = | 641 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | | for (size_t i = 0; i < input_row_count; ++i) { | 644 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | | decimal_col->get_element(i).value, input_scale, | 646 | | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | | } | 648 | | | 649 | | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | | if (scale_arg <= 0) { | 663 | | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | | } | 667 | | } | 668 | | | 669 | | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 10 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 25 | [[maybe_unused]] Int16 result_scale) { | 564 | 25 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 25 | const size_t input_row_count = col_scale_i32.size(); | 566 | 314 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 289 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 289 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 289 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 289 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 25 | } else if constexpr (is_decimal(T)) { | 637 | 25 | const auto* decimal_col = | 638 | 25 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 25 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 25 | auto col_res = | 641 | 25 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 314 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 289 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 289 | decimal_col->get_element(i).value, input_scale, | 646 | 289 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 289 | } | 648 | | | 649 | 314 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 289 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 289 | if (scale_arg <= 0) { | 663 | 148 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 148 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 39 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 39 | } | 667 | 289 | } | 668 | | | 669 | 25 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 25 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 14 | [[maybe_unused]] Int16 result_scale) { | 564 | 14 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 14 | const size_t input_row_count = col_scale_i32.size(); | 566 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 157 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 157 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 157 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 14 | } else if constexpr (is_decimal(T)) { | 637 | 14 | const auto* decimal_col = | 638 | 14 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 14 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 14 | auto col_res = | 641 | 14 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 157 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 157 | decimal_col->get_element(i).value, input_scale, | 646 | 157 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 157 | } | 648 | | | 649 | 171 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 157 | if (scale_arg <= 0) { | 663 | 71 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 86 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 31 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 31 | } | 667 | 157 | } | 668 | | | 669 | 14 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 14 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s Line | Count | Source | 563 | 3 | [[maybe_unused]] Int16 result_scale) { | 564 | 3 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 565 | 3 | const size_t input_row_count = col_scale_i32.size(); | 566 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 567 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 568 | 3 | if (scale_arg > std::numeric_limits<Int16>::max() || | 569 | 3 | scale_arg < std::numeric_limits<Int16>::min()) { | 570 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 571 | 0 | "Scale argument for function is out of bound: {}", | 572 | 0 | scale_arg); | 573 | 0 | } | 574 | 3 | } | 575 | | | 576 | | if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || is_float_or_double(T) || | 577 | | T == TYPE_TIMEV2 || T == TYPE_TIME) { | 578 | | const auto* col = assert_cast<const ColumnVector<T>*>(col_general); | 579 | | auto col_res = ColumnVector<T>::create(); | 580 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 581 | | vec_res.resize(input_row_count); | 582 | | | 583 | | for (size_t i = 0; i < input_row_count; ++i) { | 584 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 585 | | if (scale_arg == 0) { | 586 | | size_t scale = 1; | 587 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(col->get_data()[i], scale, | 588 | | vec_res[i]); | 589 | | } else if (scale_arg > 0) { | 590 | | size_t scale = int_exp10(scale_arg); | 591 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(col->get_data()[i], scale, | 592 | | vec_res[i]); | 593 | | } else { | 594 | | size_t scale = int_exp10(-scale_arg); | 595 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(col->get_data()[i], scale, | 596 | | vec_res[i]); | 597 | | } | 598 | | } | 599 | | return col_res; | 600 | | } else if constexpr (T == TYPE_DECIMALV2) { | 601 | | const auto* decimal_col = | 602 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 603 | | const Int32 input_scale = decimal_col->get_scale(); | 604 | | auto col_res = | 605 | | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 606 | | | 607 | | for (size_t i = 0; i < input_row_count; ++i) { | 608 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 609 | | decimal_col->get_element(i).value(), input_scale, | 610 | | col_res->get_element(i).value(), col_scale_i32.get_data()[i]); | 611 | | } | 612 | | | 613 | | for (size_t i = 0; i < input_row_count; ++i) { | 614 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 615 | | // So we need this check to make sure the result have correct digits count | 616 | | // | 617 | | // Case 0: scale_arg <= -(integer part digits count) | 618 | | // do nothing, because result is 0 | 619 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 620 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 621 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 622 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 623 | | // Case 3: scale_arg >= input_scale | 624 | | // do nothing | 625 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 626 | | if (scale_arg <= 0) { | 627 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 628 | | int_exp10(result_scale)); | 629 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 630 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 631 | | int_exp10(result_scale - scale_arg)); | 632 | | } | 633 | | } | 634 | | | 635 | | return col_res; | 636 | 3 | } else if constexpr (is_decimal(T)) { | 637 | 3 | const auto* decimal_col = | 638 | 3 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType*>(col_general); | 639 | 3 | const Int32 input_scale = decimal_col->get_scale(); | 640 | 3 | auto col_res = | 641 | 3 | PrimitiveTypeTraits<T>::ColumnType::create(input_row_count, result_scale); | 642 | | | 643 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 644 | 3 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 645 | 3 | decimal_col->get_element(i).value, input_scale, | 646 | 3 | col_res->get_element(i).value, col_scale_i32.get_data()[i]); | 647 | 3 | } | 648 | | | 649 | 6 | for (size_t i = 0; i < input_row_count; ++i) { | 650 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 651 | | // So we need this check to make sure the result have correct digits count | 652 | | // | 653 | | // Case 0: scale_arg <= -(integer part digits count) | 654 | | // do nothing, because result is 0 | 655 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 656 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 657 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 658 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 659 | | // Case 3: scale_arg >= input_scale | 660 | | // do nothing | 661 | 3 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 662 | 3 | if (scale_arg <= 0) { | 663 | 0 | col_res->get_element(i).value *= int_exp10(result_scale); | 664 | 3 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 665 | 2 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 666 | 2 | } | 667 | 3 | } | 668 | | | 669 | 3 | return col_res; | 670 | | } else { | 671 | | static_assert(false); | 672 | | } | 673 | 3 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE35ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13apply_vec_vecEPKNS_7IColumnES7_s |
674 | | |
675 | | // result_scale: scale for result decimal, this scale is got from planner |
676 | | static ColumnPtr apply_const_vec(const ColumnConst* const_col_general, const IColumn* col_scale, |
677 | 164 | [[maybe_unused]] Int16 result_scale) { |
678 | 164 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); |
679 | 164 | const size_t input_rows_count = col_scale->size(); |
680 | | |
681 | 2.36k | for (size_t i = 0; i < input_rows_count; ++i) { |
682 | 2.19k | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
683 | | |
684 | 2.19k | if (scale_arg > std::numeric_limits<Int16>::max() || |
685 | 2.19k | scale_arg < std::numeric_limits<Int16>::min()) { |
686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, |
687 | 0 | "Scale argument for function is out of bound: {}", |
688 | 0 | scale_arg); |
689 | 0 | } |
690 | 2.19k | } |
691 | | |
692 | 164 | if constexpr (T == TYPE_DECIMALV2) { |
693 | 0 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = |
694 | 0 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( |
695 | 0 | const_col_general->get_data_column()); |
696 | 0 | const auto& general_val = data_col_general.get_data()[0]; |
697 | 0 | Int32 input_scale = data_col_general.get_scale(); |
698 | 0 | auto col_res = |
699 | 0 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); |
700 | |
|
701 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { |
702 | 0 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( |
703 | 0 | general_val, input_scale, col_res->get_element(i).value(), |
704 | 0 | col_scale_i32.get_data()[i]); |
705 | 0 | } |
706 | |
|
707 | 0 | for (size_t i = 0; i < input_rows_count; ++i) { |
708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column |
709 | | // So we need this check to make sure the result have correct digits count |
710 | | // |
711 | | // Case 0: scale_arg <= -(integer part digits count) |
712 | | // do nothing, because result is 0 |
713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) |
715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
717 | | // Case 3: scale_arg >= input_scale |
718 | | // do nothing |
719 | 0 | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
720 | 0 | if (scale_arg <= 0) { |
721 | 0 | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * |
722 | 0 | int_exp10(result_scale)); |
723 | 0 | } else if (scale_arg > 0 && scale_arg < result_scale) { |
724 | 0 | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * |
725 | 0 | int_exp10(result_scale - scale_arg)); |
726 | 0 | } |
727 | 0 | } |
728 | |
|
729 | 0 | return col_res; |
730 | 115 | } else if constexpr (is_decimal(T)) { |
731 | 115 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = |
732 | 115 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( |
733 | 115 | const_col_general->get_data_column()); |
734 | 115 | const auto& general_val = data_col_general.get_data()[0]; |
735 | 115 | Int32 input_scale = data_col_general.get_scale(); |
736 | 115 | auto col_res = |
737 | 115 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); |
738 | | |
739 | 2.26k | for (size_t i = 0; i < input_rows_count; ++i) { |
740 | 2.15k | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( |
741 | 2.15k | general_val, input_scale, col_res->get_element(i).value, |
742 | 2.15k | col_scale_i32.get_data()[i]); |
743 | 2.15k | } |
744 | | |
745 | 2.26k | for (size_t i = 0; i < input_rows_count; ++i) { |
746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column |
747 | | // So we need this check to make sure the result have correct digits count |
748 | | // |
749 | | // Case 0: scale_arg <= -(integer part digits count) |
750 | | // do nothing, because result is 0 |
751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) |
752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) |
753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale |
754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) |
755 | | // Case 3: scale_arg >= input_scale |
756 | | // do nothing |
757 | 2.15k | const Int32 scale_arg = col_scale_i32.get_data()[i]; |
758 | 2.15k | if (scale_arg <= 0) { |
759 | 1.09k | col_res->get_element(i).value *= int_exp10(result_scale); |
760 | 1.09k | } else if (scale_arg > 0 && scale_arg < result_scale) { |
761 | 320 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); |
762 | 320 | } |
763 | 2.15k | } |
764 | | |
765 | 115 | return col_res; |
766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || |
767 | 49 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { |
768 | 49 | const ColumnVector<T>& data_col_general = |
769 | 49 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); |
770 | 49 | const auto& general_val = data_col_general.get_data()[0]; |
771 | 49 | auto col_res = ColumnVector<T>::create(input_rows_count); |
772 | 49 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); |
773 | | |
774 | 98 | for (size_t i = 0; i < input_rows_count; ++i) { |
775 | 49 | const Int16 scale_arg = col_scale_i32.get_data()[i]; |
776 | 49 | if (scale_arg == 0) { |
777 | 14 | size_t scale = 1; |
778 | 14 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); |
779 | 35 | } else if (scale_arg > 0) { |
780 | 25 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); |
781 | 25 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, |
782 | 25 | vec_res[i]); |
783 | 25 | } else { |
784 | 10 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); |
785 | 10 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, |
786 | 10 | vec_res[i]); |
787 | 10 | } |
788 | 49 | } |
789 | | |
790 | 49 | return col_res; |
791 | | } else { |
792 | | static_assert(false); |
793 | | } |
794 | 164 | } 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 | 677 | 4 | [[maybe_unused]] Int16 result_scale) { | 678 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 4 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 4 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 4 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 4 | const ColumnVector<T>& data_col_general = | 769 | 4 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 4 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 4 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 4 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 4 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 3 | } else if (scale_arg > 0) { | 780 | 2 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 2 | vec_res[i]); | 783 | 2 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 4 | } | 789 | | | 790 | 4 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 5 | [[maybe_unused]] Int16 result_scale) { | 678 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 5 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 5 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 5 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 5 | const ColumnVector<T>& data_col_general = | 769 | 5 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 5 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 5 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 5 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 5 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 4 | } else if (scale_arg > 0) { | 780 | 3 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 3 | vec_res[i]); | 783 | 3 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 5 | } | 789 | | | 790 | 5 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 15 | [[maybe_unused]] Int16 result_scale) { | 678 | 15 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 15 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 279 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 279 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 279 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 15 | } else if constexpr (is_decimal(T)) { | 731 | 15 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 15 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 15 | const_col_general->get_data_column()); | 734 | 15 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 15 | Int32 input_scale = data_col_general.get_scale(); | 736 | 15 | auto col_res = | 737 | 15 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 279 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 279 | general_val, input_scale, col_res->get_element(i).value, | 742 | 279 | col_scale_i32.get_data()[i]); | 743 | 279 | } | 744 | | | 745 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 279 | if (scale_arg <= 0) { | 759 | 147 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 147 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 37 | } | 763 | 279 | } | 764 | | | 765 | 15 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 15 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 14 | [[maybe_unused]] Int16 result_scale) { | 678 | 14 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 14 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 171 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 157 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 157 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 157 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 14 | } else if constexpr (is_decimal(T)) { | 731 | 14 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 14 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 14 | const_col_general->get_data_column()); | 734 | 14 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 14 | Int32 input_scale = data_col_general.get_scale(); | 736 | 14 | auto col_res = | 737 | 14 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 171 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 157 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 157 | general_val, input_scale, col_res->get_element(i).value, | 742 | 157 | col_scale_i32.get_data()[i]); | 743 | 157 | } | 744 | | | 745 | 171 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 157 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 157 | if (scale_arg <= 0) { | 759 | 74 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 83 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 30 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 30 | } | 763 | 157 | } | 764 | | | 765 | 14 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 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 | 677 | 4 | [[maybe_unused]] Int16 result_scale) { | 678 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 4 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 4 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 4 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 4 | const ColumnVector<T>& data_col_general = | 769 | 4 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 4 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 4 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 4 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 4 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 3 | } else if (scale_arg > 0) { | 780 | 2 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 2 | vec_res[i]); | 783 | 2 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 4 | } | 789 | | | 790 | 4 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 5 | [[maybe_unused]] Int16 result_scale) { | 678 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 5 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 5 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 5 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 5 | const ColumnVector<T>& data_col_general = | 769 | 5 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 5 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 5 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 5 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 5 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 4 | } else if (scale_arg > 0) { | 780 | 3 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 3 | vec_res[i]); | 783 | 3 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 5 | } | 789 | | | 790 | 5 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 15 | [[maybe_unused]] Int16 result_scale) { | 678 | 15 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 15 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 279 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 279 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 279 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 15 | } else if constexpr (is_decimal(T)) { | 731 | 15 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 15 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 15 | const_col_general->get_data_column()); | 734 | 15 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 15 | Int32 input_scale = data_col_general.get_scale(); | 736 | 15 | auto col_res = | 737 | 15 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 279 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 279 | general_val, input_scale, col_res->get_element(i).value, | 742 | 279 | col_scale_i32.get_data()[i]); | 743 | 279 | } | 744 | | | 745 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 279 | if (scale_arg <= 0) { | 759 | 147 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 147 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 37 | } | 763 | 279 | } | 764 | | | 765 | 15 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 15 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 7 | [[maybe_unused]] Int16 result_scale) { | 678 | 7 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 7 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 157 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 150 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 150 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 150 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 150 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 7 | } else if constexpr (is_decimal(T)) { | 731 | 7 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 7 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 7 | const_col_general->get_data_column()); | 734 | 7 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 7 | Int32 input_scale = data_col_general.get_scale(); | 736 | 7 | auto col_res = | 737 | 7 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 157 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 150 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 150 | general_val, input_scale, col_res->get_element(i).value, | 742 | 150 | col_scale_i32.get_data()[i]); | 743 | 150 | } | 744 | | | 745 | 157 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 150 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 150 | if (scale_arg <= 0) { | 759 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 80 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 27 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 27 | } | 763 | 150 | } | 764 | | | 765 | 7 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 7 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs 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 | 677 | 5 | [[maybe_unused]] Int16 result_scale) { | 678 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 5 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 5 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 5 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 5 | const ColumnVector<T>& data_col_general = | 769 | 5 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 5 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 5 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 5 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 5 | if (scale_arg == 0) { | 777 | 2 | size_t scale = 1; | 778 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 3 | } else if (scale_arg > 0) { | 780 | 2 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 2 | vec_res[i]); | 783 | 2 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 5 | } | 789 | | | 790 | 5 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 6 | [[maybe_unused]] Int16 result_scale) { | 678 | 6 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 6 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 12 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 6 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 6 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 6 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 6 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 6 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 6 | const ColumnVector<T>& data_col_general = | 769 | 6 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 6 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 6 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 6 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 12 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 6 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 6 | if (scale_arg == 0) { | 777 | 2 | size_t scale = 1; | 778 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 4 | } else if (scale_arg > 0) { | 780 | 3 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 3 | vec_res[i]); | 783 | 3 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 6 | } | 789 | | | 790 | 6 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 6 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 16 | [[maybe_unused]] Int16 result_scale) { | 678 | 16 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 16 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 296 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 280 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 280 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 280 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 280 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 16 | } else if constexpr (is_decimal(T)) { | 731 | 16 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 16 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 16 | const_col_general->get_data_column()); | 734 | 16 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 16 | Int32 input_scale = data_col_general.get_scale(); | 736 | 16 | auto col_res = | 737 | 16 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 296 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 280 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 280 | general_val, input_scale, col_res->get_element(i).value, | 742 | 280 | col_scale_i32.get_data()[i]); | 743 | 280 | } | 744 | | | 745 | 296 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 280 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 280 | if (scale_arg <= 0) { | 759 | 148 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 148 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 37 | } | 763 | 280 | } | 764 | | | 765 | 16 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 16 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 6 | [[maybe_unused]] Int16 result_scale) { | 678 | 6 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 6 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 149 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 149 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 149 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 6 | } else if constexpr (is_decimal(T)) { | 731 | 6 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 6 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 6 | const_col_general->get_data_column()); | 734 | 6 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 6 | Int32 input_scale = data_col_general.get_scale(); | 736 | 6 | auto col_res = | 737 | 6 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 149 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 149 | general_val, input_scale, col_res->get_element(i).value, | 742 | 149 | col_scale_i32.get_data()[i]); | 743 | 149 | } | 744 | | | 745 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 149 | if (scale_arg <= 0) { | 759 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 79 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 26 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 26 | } | 763 | 149 | } | 764 | | | 765 | 6 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 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 | 677 | 4 | [[maybe_unused]] Int16 result_scale) { | 678 | 4 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 4 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 4 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 4 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 4 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 4 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 4 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 4 | const ColumnVector<T>& data_col_general = | 769 | 4 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 4 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 4 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 4 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 8 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 4 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 4 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 3 | } else if (scale_arg > 0) { | 780 | 2 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 2 | vec_res[i]); | 783 | 2 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 4 | } | 789 | | | 790 | 4 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 4 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 5 | [[maybe_unused]] Int16 result_scale) { | 678 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 5 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 5 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 5 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 5 | const ColumnVector<T>& data_col_general = | 769 | 5 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 5 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 5 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 5 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 5 | if (scale_arg == 0) { | 777 | 1 | size_t scale = 1; | 778 | 1 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 4 | } else if (scale_arg > 0) { | 780 | 3 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 3 | vec_res[i]); | 783 | 3 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 5 | } | 789 | | | 790 | 5 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 15 | [[maybe_unused]] Int16 result_scale) { | 678 | 15 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 15 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 279 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 279 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 279 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 15 | } else if constexpr (is_decimal(T)) { | 731 | 15 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 15 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 15 | const_col_general->get_data_column()); | 734 | 15 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 15 | Int32 input_scale = data_col_general.get_scale(); | 736 | 15 | auto col_res = | 737 | 15 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 279 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 279 | general_val, input_scale, col_res->get_element(i).value, | 742 | 279 | col_scale_i32.get_data()[i]); | 743 | 279 | } | 744 | | | 745 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 279 | if (scale_arg <= 0) { | 759 | 147 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 147 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 37 | } | 763 | 279 | } | 764 | | | 765 | 15 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 15 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 6 | [[maybe_unused]] Int16 result_scale) { | 678 | 6 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 6 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 149 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 149 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 149 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 6 | } else if constexpr (is_decimal(T)) { | 731 | 6 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 6 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 6 | const_col_general->get_data_column()); | 734 | 6 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 6 | Int32 input_scale = data_col_general.get_scale(); | 736 | 6 | auto col_res = | 737 | 6 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 149 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 149 | general_val, input_scale, col_res->get_element(i).value, | 742 | 149 | col_scale_i32.get_data()[i]); | 743 | 149 | } | 744 | | | 745 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 149 | if (scale_arg <= 0) { | 759 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 79 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 26 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 26 | } | 763 | 149 | } | 764 | | | 765 | 6 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 6 | } |
Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE20ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Unexecuted instantiation: _ZN5doris10DispatcherILNS_13PrimitiveTypeE30ELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs 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 | 677 | 5 | [[maybe_unused]] Int16 result_scale) { | 678 | 5 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 5 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 5 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 5 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 5 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 5 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 5 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 5 | const ColumnVector<T>& data_col_general = | 769 | 5 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 5 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 5 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 5 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 10 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 5 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 5 | if (scale_arg == 0) { | 777 | 2 | size_t scale = 1; | 778 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 3 | } else if (scale_arg > 0) { | 780 | 2 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 2 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 2 | vec_res[i]); | 783 | 2 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 5 | } | 789 | | | 790 | 5 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 5 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE9ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 6 | [[maybe_unused]] Int16 result_scale) { | 678 | 6 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 6 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 12 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 6 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 6 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 6 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 6 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | | } else if constexpr (is_decimal(T)) { | 731 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | | const_col_general->get_data_column()); | 734 | | const auto& general_val = data_col_general.get_data()[0]; | 735 | | Int32 input_scale = data_col_general.get_scale(); | 736 | | auto col_res = | 737 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | | general_val, input_scale, col_res->get_element(i).value, | 742 | | col_scale_i32.get_data()[i]); | 743 | | } | 744 | | | 745 | | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | | if (scale_arg <= 0) { | 759 | | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | | } | 763 | | } | 764 | | | 765 | | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | 6 | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | 6 | const ColumnVector<T>& data_col_general = | 769 | 6 | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | 6 | const auto& general_val = data_col_general.get_data()[0]; | 771 | 6 | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | 6 | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | 12 | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | 6 | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | 6 | if (scale_arg == 0) { | 777 | 2 | size_t scale = 1; | 778 | 2 | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | 4 | } else if (scale_arg > 0) { | 780 | 3 | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | 3 | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | 3 | vec_res[i]); | 783 | 3 | } else { | 784 | 1 | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | 1 | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | 1 | vec_res[i]); | 787 | 1 | } | 788 | 6 | } | 789 | | | 790 | 6 | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 6 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE28ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 15 | [[maybe_unused]] Int16 result_scale) { | 678 | 15 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 15 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 279 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 279 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 279 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 15 | } else if constexpr (is_decimal(T)) { | 731 | 15 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 15 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 15 | const_col_general->get_data_column()); | 734 | 15 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 15 | Int32 input_scale = data_col_general.get_scale(); | 736 | 15 | auto col_res = | 737 | 15 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 279 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 279 | general_val, input_scale, col_res->get_element(i).value, | 742 | 279 | col_scale_i32.get_data()[i]); | 743 | 279 | } | 744 | | | 745 | 294 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 279 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 279 | if (scale_arg <= 0) { | 759 | 147 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 147 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 37 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 37 | } | 763 | 279 | } | 764 | | | 765 | 15 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 15 | } |
_ZN5doris10DispatcherILNS_13PrimitiveTypeE29ELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE15apply_const_vecEPKNS_11ColumnConstEPKNS_7IColumnEs Line | Count | Source | 677 | 6 | [[maybe_unused]] Int16 result_scale) { | 678 | 6 | const auto& col_scale_i32 = assert_cast<const ColumnInt32&>(*col_scale); | 679 | 6 | const size_t input_rows_count = col_scale->size(); | 680 | | | 681 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 682 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 683 | | | 684 | 149 | if (scale_arg > std::numeric_limits<Int16>::max() || | 685 | 149 | scale_arg < std::numeric_limits<Int16>::min()) { | 686 | 0 | throw doris::Exception(ErrorCode::OUT_OF_BOUND, | 687 | 0 | "Scale argument for function is out of bound: {}", | 688 | 0 | scale_arg); | 689 | 0 | } | 690 | 149 | } | 691 | | | 692 | | if constexpr (T == TYPE_DECIMALV2) { | 693 | | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 694 | | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 695 | | const_col_general->get_data_column()); | 696 | | const auto& general_val = data_col_general.get_data()[0]; | 697 | | Int32 input_scale = data_col_general.get_scale(); | 698 | | auto col_res = | 699 | | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 700 | | | 701 | | for (size_t i = 0; i < input_rows_count; ++i) { | 702 | | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 703 | | general_val, input_scale, col_res->get_element(i).value(), | 704 | | col_scale_i32.get_data()[i]); | 705 | | } | 706 | | | 707 | | for (size_t i = 0; i < input_rows_count; ++i) { | 708 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 709 | | // So we need this check to make sure the result have correct digits count | 710 | | // | 711 | | // Case 0: scale_arg <= -(integer part digits count) | 712 | | // do nothing, because result is 0 | 713 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 714 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 715 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 716 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 717 | | // Case 3: scale_arg >= input_scale | 718 | | // do nothing | 719 | | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 720 | | if (scale_arg <= 0) { | 721 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 722 | | int_exp10(result_scale)); | 723 | | } else if (scale_arg > 0 && scale_arg < result_scale) { | 724 | | col_res->get_element(i) = DecimalV2Value(col_res->get_element(i).value() * | 725 | | int_exp10(result_scale - scale_arg)); | 726 | | } | 727 | | } | 728 | | | 729 | | return col_res; | 730 | 6 | } else if constexpr (is_decimal(T)) { | 731 | 6 | const typename PrimitiveTypeTraits<T>::ColumnType& data_col_general = | 732 | 6 | assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&>( | 733 | 6 | const_col_general->get_data_column()); | 734 | 6 | const auto& general_val = data_col_general.get_data()[0]; | 735 | 6 | Int32 input_scale = data_col_general.get_scale(); | 736 | 6 | auto col_res = | 737 | 6 | PrimitiveTypeTraits<T>::ColumnType::create(input_rows_count, result_scale); | 738 | | | 739 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 740 | 149 | DecimalRoundingImpl<T, rounding_mode, tie_breaking_mode>::apply( | 741 | 149 | general_val, input_scale, col_res->get_element(i).value, | 742 | 149 | col_scale_i32.get_data()[i]); | 743 | 149 | } | 744 | | | 745 | 155 | for (size_t i = 0; i < input_rows_count; ++i) { | 746 | | // For func(ColumnDecimal, ColumnInt32), we should always have same scale with source Decimal column | 747 | | // So we need this check to make sure the result have correct digits count | 748 | | // | 749 | | // Case 0: scale_arg <= -(integer part digits count) | 750 | | // do nothing, because result is 0 | 751 | | // Case 1: scale_arg <= 0 && scale_arg > -(integer part digits count) | 752 | | // decimal parts has been erased, so add them back by multiply 10^(scale_arg) | 753 | | // Case 2: scale_arg > 0 && scale_arg < result_scale | 754 | | // decimal part now has scale_arg digits, so multiply 10^(result_scale - scal_arg) | 755 | | // Case 3: scale_arg >= input_scale | 756 | | // do nothing | 757 | 149 | const Int32 scale_arg = col_scale_i32.get_data()[i]; | 758 | 149 | if (scale_arg <= 0) { | 759 | 70 | col_res->get_element(i).value *= int_exp10(result_scale); | 760 | 79 | } else if (scale_arg > 0 && scale_arg < result_scale) { | 761 | 26 | col_res->get_element(i).value *= int_exp10(result_scale - scale_arg); | 762 | 26 | } | 763 | 149 | } | 764 | | | 765 | 6 | return col_res; | 766 | | } else if constexpr (is_int_or_bool(T) || is_date_type(T) || is_ip(T) || | 767 | | is_float_or_double(T) || T == TYPE_TIMEV2 || T == TYPE_TIME) { | 768 | | const ColumnVector<T>& data_col_general = | 769 | | assert_cast<const ColumnVector<T>&>(const_col_general->get_data_column()); | 770 | | const auto& general_val = data_col_general.get_data()[0]; | 771 | | auto col_res = ColumnVector<T>::create(input_rows_count); | 772 | | typename ColumnVector<T>::Container& vec_res = col_res->get_data(); | 773 | | | 774 | | for (size_t i = 0; i < input_rows_count; ++i) { | 775 | | const Int16 scale_arg = col_scale_i32.get_data()[i]; | 776 | | if (scale_arg == 0) { | 777 | | size_t scale = 1; | 778 | | FunctionRoundingImpl<ScaleMode::Zero>::apply(general_val, scale, vec_res[i]); | 779 | | } else if (scale_arg > 0) { | 780 | | size_t scale = int_exp10(col_scale_i32.get_data()[i]); | 781 | | FunctionRoundingImpl<ScaleMode::Positive>::apply(general_val, scale, | 782 | | vec_res[i]); | 783 | | } else { | 784 | | size_t scale = int_exp10(-col_scale_i32.get_data()[i]); | 785 | | FunctionRoundingImpl<ScaleMode::Negative>::apply(general_val, scale, | 786 | | vec_res[i]); | 787 | | } | 788 | | } | 789 | | | 790 | | return col_res; | 791 | | } else { | 792 | | static_assert(false); | 793 | | } | 794 | 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 |
795 | | }; |
796 | | |
797 | | template <typename Impl, RoundingMode rounding_mode, TieBreakingMode tie_breaking_mode> |
798 | | class FunctionRounding : public IFunction { |
799 | | public: |
800 | | static constexpr auto name = Impl::name; |
801 | 2.09k | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); }_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 11 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 34 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 17 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 21 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 14 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 25 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 16 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 430 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 18 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 17 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 14 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 14 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 14 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 22 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 39 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 21 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 16 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 13 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 18 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 752 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 18 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 12 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 29 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 22 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 27 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 22 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 24 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 25 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 26 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 24 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 23 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 22 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 21 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 24 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 85 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 22 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 23 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 11 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE6createEv Line | Count | Source | 801 | 9 | static FunctionPtr create() { return std::make_shared<FunctionRounding>(); } |
|
802 | | |
803 | 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 |
804 | | |
805 | 1.65k | bool is_variadic() const override { return true; }_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 3 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 26 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 9 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 13 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 6 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 13 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 4 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 418 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 6 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 5 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 6 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 6 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 6 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 14 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 31 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 13 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 8 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 5 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 10 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 744 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 10 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 4 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 19 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 12 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 17 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 12 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 14 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 15 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 16 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 14 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 13 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 12 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 13 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 16 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 77 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 14 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 15 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 3 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE11is_variadicEv Line | Count | Source | 805 | 1 | bool is_variadic() const override { return true; } |
|
806 | 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 |
807 | | |
808 | 400 | DataTypes get_variadic_argument_types_impl() const override { |
809 | 400 | return Impl::get_variadic_argument_types(); |
810 | 400 | } _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE32get_variadic_argument_types_implEv Line | Count | Source | 808 | 8 | DataTypes get_variadic_argument_types_impl() const override { | 809 | 8 | return Impl::get_variadic_argument_types(); | 810 | 8 | } |
|
811 | | |
812 | 1.79k | 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 | 812 | 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 | 812 | 9 | bool need_replace_null_data_to_default() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv Line | Count | Source | 812 | 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 | 812 | 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 | 812 | 39 | bool need_replace_null_data_to_default() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv Line | Count | Source | 812 | 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 | 812 | 459 | bool need_replace_null_data_to_default() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv Line | Count | Source | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 208 | 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 | 812 | 15 | 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 | 812 | 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 | 812 | 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 | 812 | 15 | bool need_replace_null_data_to_default() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE33need_replace_null_data_to_defaultEv Line | Count | Source | 812 | 385 | 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 | 812 | 23 | bool need_replace_null_data_to_default() const override { return true; } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE33need_replace_null_data_to_defaultEv Line | Count | Source | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 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 | 812 | 20 | 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 | 812 | 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 | 812 | 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 | 812 | 14 | 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 | 812 | 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 | 812 | 171 | 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 | 812 | 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 | 812 | 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 | 812 | 14 | 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 |
813 | | |
814 | | /// Get result types by argument types. If the function does not apply to these arguments, throw an exception. |
815 | 1.60k | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { |
816 | 1.60k | if ((arguments.empty()) || (arguments.size() > 2)) { |
817 | 0 | throw doris::Exception( |
818 | 0 | ErrorCode::INVALID_ARGUMENT, |
819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", |
820 | 0 | get_name()); |
821 | 0 | } |
822 | | |
823 | 1.60k | return arguments[0]; |
824 | 1.60k | } _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 2 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 2 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 2 | return arguments[0]; | 824 | 2 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 25 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 25 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 25 | return arguments[0]; | 824 | 25 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 8 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 8 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 8 | return arguments[0]; | 824 | 8 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 12 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 12 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 12 | return arguments[0]; | 824 | 12 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 5 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 5 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 5 | return arguments[0]; | 824 | 5 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 12 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 12 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 12 | return arguments[0]; | 824 | 12 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 3 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 3 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 3 | return arguments[0]; | 824 | 3 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 417 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 417 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 417 | return arguments[0]; | 824 | 417 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 5 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 5 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 5 | return arguments[0]; | 824 | 5 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE Line | Count | Source | 815 | 4 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 4 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 4 | return arguments[0]; | 824 | 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 | 815 | 5 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 5 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 5 | return arguments[0]; | 824 | 5 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 5 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 5 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 5 | return arguments[0]; | 824 | 5 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 5 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 5 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 5 | return arguments[0]; | 824 | 5 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 13 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 13 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 13 | return arguments[0]; | 824 | 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 | 815 | 30 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 30 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 30 | return arguments[0]; | 824 | 30 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 12 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 12 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 12 | return arguments[0]; | 824 | 12 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 7 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 7 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 7 | return arguments[0]; | 824 | 7 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 4 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 4 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 4 | return arguments[0]; | 824 | 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 | 815 | 9 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 9 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 9 | return arguments[0]; | 824 | 9 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 743 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 743 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 743 | return arguments[0]; | 824 | 743 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 9 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 9 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 9 | return arguments[0]; | 824 | 9 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 3 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 3 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 3 | return arguments[0]; | 824 | 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 | 815 | 18 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 18 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 18 | return arguments[0]; | 824 | 18 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 11 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 11 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 11 | return arguments[0]; | 824 | 11 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 16 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 16 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 16 | return arguments[0]; | 824 | 16 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 11 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 11 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 11 | return arguments[0]; | 824 | 11 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 13 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 13 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 13 | return arguments[0]; | 824 | 13 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 14 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 14 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 14 | return arguments[0]; | 824 | 14 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 15 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 15 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 15 | return arguments[0]; | 824 | 15 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 13 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 13 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 13 | return arguments[0]; | 824 | 13 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 12 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 12 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 12 | return arguments[0]; | 824 | 12 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 11 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 11 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 11 | return arguments[0]; | 824 | 11 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 12 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 12 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 12 | return arguments[0]; | 824 | 12 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 15 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 15 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 15 | return arguments[0]; | 824 | 15 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 76 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 76 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 76 | return arguments[0]; | 824 | 76 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 13 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 13 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 13 | return arguments[0]; | 824 | 13 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISC_EE Line | Count | Source | 815 | 14 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 14 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 14 | return arguments[0]; | 824 | 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 | 815 | 2 | DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { | 816 | 2 | if ((arguments.empty()) || (arguments.size() > 2)) { | 817 | 0 | throw doris::Exception( | 818 | 0 | ErrorCode::INVALID_ARGUMENT, | 819 | 0 | "Number of arguments for function {}, doesn't match: should be 1 or 2. ", | 820 | 0 | get_name()); | 821 | 0 | } | 822 | | | 823 | 2 | return arguments[0]; | 824 | 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 |
825 | | |
826 | 975 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { |
827 | 975 | const IColumn& scale_column = *arguments.column; |
828 | | |
829 | 975 | Int32 scale_arg = assert_cast<const ColumnInt32&>( |
830 | 975 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) |
831 | 975 | .get_element(0); |
832 | | |
833 | 975 | if (scale_arg > std::numeric_limits<Int16>::max() || |
834 | 975 | scale_arg < std::numeric_limits<Int16>::min()) { |
835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", |
836 | 0 | name, scale_arg); |
837 | 0 | } |
838 | | |
839 | 975 | *scale = scale_arg; |
840 | 975 | return Status::OK(); |
841 | 975 | } 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 | 826 | 36 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 36 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 36 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 36 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 36 | .get_element(0); | 832 | | | 833 | 36 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 36 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 36 | *scale = scale_arg; | 840 | 36 | return Status::OK(); | 841 | 36 | } |
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 463 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 463 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 463 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 463 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 463 | .get_element(0); | 832 | | | 833 | 463 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 463 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 463 | *scale = scale_arg; | 840 | 463 | return Status::OK(); | 841 | 463 | } |
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs _ZN5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 8 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 8 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 8 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 8 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 8 | .get_element(0); | 832 | | | 833 | 8 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 8 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 8 | *scale = scale_arg; | 840 | 8 | return Status::OK(); | 841 | 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 | 826 | 30 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 30 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 30 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 30 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 30 | .get_element(0); | 832 | | | 833 | 30 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 30 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 30 | *scale = scale_arg; | 840 | 30 | return Status::OK(); | 841 | 30 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 20 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 20 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 20 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 20 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 20 | .get_element(0); | 832 | | | 833 | 20 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 20 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 20 | *scale = scale_arg; | 840 | 20 | return Status::OK(); | 841 | 20 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 21 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 21 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 21 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 21 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 21 | .get_element(0); | 832 | | | 833 | 21 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 21 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 21 | *scale = scale_arg; | 840 | 21 | return Status::OK(); | 841 | 21 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 19 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 19 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 19 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 19 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 19 | .get_element(0); | 832 | | | 833 | 19 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 19 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 19 | *scale = scale_arg; | 840 | 19 | return Status::OK(); | 841 | 19 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 12 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 12 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 12 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 12 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 12 | .get_element(0); | 832 | | | 833 | 12 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 12 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 12 | *scale = scale_arg; | 840 | 12 | return Status::OK(); | 841 | 12 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 26 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 26 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 26 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 26 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 26 | .get_element(0); | 832 | | | 833 | 26 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 26 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 26 | *scale = scale_arg; | 840 | 26 | return Status::OK(); | 841 | 26 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 21 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 21 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 21 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 21 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 21 | .get_element(0); | 832 | | | 833 | 21 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 21 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 21 | *scale = scale_arg; | 840 | 21 | return Status::OK(); | 841 | 21 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 20 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 20 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 20 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 20 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 20 | .get_element(0); | 832 | | | 833 | 20 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 20 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 20 | *scale = scale_arg; | 840 | 20 | return Status::OK(); | 841 | 20 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 20 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 20 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 20 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 20 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 20 | .get_element(0); | 832 | | | 833 | 20 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 20 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 20 | *scale = scale_arg; | 840 | 20 | return Status::OK(); | 841 | 20 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 12 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 12 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 12 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 12 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 12 | .get_element(0); | 832 | | | 833 | 12 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 12 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 12 | *scale = scale_arg; | 840 | 12 | return Status::OK(); | 841 | 12 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 15 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 15 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 15 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 15 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 15 | .get_element(0); | 832 | | | 833 | 15 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 15 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 15 | *scale = scale_arg; | 840 | 15 | return Status::OK(); | 841 | 15 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 23 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 23 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 23 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 23 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 23 | .get_element(0); | 832 | | | 833 | 23 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 23 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 23 | *scale = scale_arg; | 840 | 23 | return Status::OK(); | 841 | 23 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 176 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 176 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 176 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 176 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 176 | .get_element(0); | 832 | | | 833 | 176 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 176 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 176 | *scale = scale_arg; | 840 | 176 | return Status::OK(); | 841 | 176 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 22 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 22 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 22 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 22 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 22 | .get_element(0); | 832 | | | 833 | 22 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 22 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 22 | *scale = scale_arg; | 840 | 22 | return Status::OK(); | 841 | 22 | } |
_ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 17 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 17 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 17 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 17 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 17 | .get_element(0); | 832 | | | 833 | 17 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 17 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 17 | *scale = scale_arg; | 840 | 17 | return Status::OK(); | 841 | 17 | } |
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Line | Count | Source | 826 | 14 | static Status get_scale_arg(const ColumnWithTypeAndName& arguments, Int16* scale) { | 827 | 14 | const IColumn& scale_column = *arguments.column; | 828 | | | 829 | 14 | Int32 scale_arg = assert_cast<const ColumnInt32&>( | 830 | 14 | assert_cast<const ColumnConst*>(&scale_column)->get_data_column()) | 831 | 14 | .get_element(0); | 832 | | | 833 | 14 | if (scale_arg > std::numeric_limits<Int16>::max() || | 834 | 14 | scale_arg < std::numeric_limits<Int16>::min()) { | 835 | 0 | return Status::InvalidArgument("Scale argument for function {} is out of bound: {}", | 836 | 0 | name, scale_arg); | 837 | 0 | } | 838 | | | 839 | 14 | *scale = scale_arg; | 840 | 14 | return Status::OK(); | 841 | 14 | } |
Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs Unexecuted instantiation: _ZN5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE13get_scale_argERKNS_21ColumnWithTypeAndNameEPs |
842 | | |
843 | | Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments, |
844 | 2.74k | uint32_t result, size_t input_rows_count) const override { |
845 | 2.74k | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); |
846 | 2.74k | ColumnWithTypeAndName& column_result = block.get_by_position(result); |
847 | 2.74k | const DataTypePtr result_type = block.get_by_position(result).type; |
848 | 2.74k | const bool is_col_general_const = is_column_const(*column_general.column); |
849 | 2.74k | const auto* col_general = is_col_general_const |
850 | 2.74k | ? assert_cast<const ColumnConst&>(*column_general.column) |
851 | 164 | .get_data_column_ptr() |
852 | 164 | .get() |
853 | 2.74k | : column_general.column.get(); |
854 | 2.74k | ColumnPtr res; |
855 | | |
856 | | /// potential argument types: |
857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: |
858 | | /// 1. func(Column), func(Column, ColumnConst) |
859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: |
860 | | /// 2. func(Column, Column), func(ColumnConst, Column) |
861 | | |
862 | 2.74k | auto call = [&](const auto& types) -> bool { |
863 | 2.74k | using Types = std::decay_t<decltype(types)>; |
864 | 2.74k | using DataType = typename Types::LeftType; |
865 | | |
866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with |
867 | | // arguments from query plan. |
868 | 2.74k | Int16 result_scale = 0; |
869 | 2.74k | if constexpr (IsDataTypeDecimal<DataType>) { |
870 | 2.00k | if (column_result.type->is_nullable()) { |
871 | 1.22k | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( |
872 | 1.22k | column_result.type)) { |
873 | 1.22k | result_scale = nullable_type->get_nested_type()->get_scale(); |
874 | 1.22k | } else { |
875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
876 | 0 | "Illegal nullable column"); |
877 | 0 | } |
878 | 1.22k | } else { |
879 | 786 | result_scale = column_result.type->get_scale(); |
880 | 786 | } |
881 | 2.00k | } |
882 | | |
883 | 2.74k | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { |
884 | 2.74k | if (arguments.size() == 1 || |
885 | 2.74k | is_column_const(*block.get_by_position(arguments[1]).column)) { |
886 | | // the SECOND argument is MISSING or CONST |
887 | 2.30k | Int16 scale_arg = 0; |
888 | 2.30k | if (arguments.size() == 2) { |
889 | 975 | RETURN_IF_ERROR( |
890 | 975 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); |
891 | 975 | } |
892 | | |
893 | 2.30k | res = Dispatcher<DataType::PType, rounding_mode, |
894 | 2.30k | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, |
895 | 2.30k | result_scale); |
896 | 2.30k | } else { |
897 | | // the SECOND arugment is COLUMN |
898 | 438 | if (is_col_general_const) { |
899 | 164 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: |
900 | 164 | apply_const_vec( |
901 | 164 | &assert_cast<const ColumnConst&>(*column_general.column), |
902 | 164 | block.get_by_position(arguments[1]).column.get(), |
903 | 164 | result_scale); |
904 | 274 | } else { |
905 | 274 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: |
906 | 274 | apply_vec_vec(col_general, |
907 | 274 | block.get_by_position(arguments[1]).column.get(), |
908 | 274 | result_scale); |
909 | 274 | } |
910 | 438 | } |
911 | 2.74k | return true; |
912 | 2.74k | } |
913 | | |
914 | 0 | return false; |
915 | 2.74k | }; 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 | 862 | 2 | auto call = [&](const auto& types) -> bool { | 863 | 2 | using Types = std::decay_t<decltype(types)>; | 864 | 2 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 2 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 2 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 2 | if (arguments.size() == 1 || | 885 | 2 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 2 | Int16 scale_arg = 0; | 888 | 2 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 2 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 2 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 2 | result_scale); | 896 | 2 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 2 | return true; | 912 | 2 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 40 | auto call = [&](const auto& types) -> bool { | 863 | 40 | using Types = std::decay_t<decltype(types)>; | 864 | 40 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 40 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 40 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 40 | if (arguments.size() == 1 || | 885 | 40 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 40 | Int16 scale_arg = 0; | 888 | 40 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 40 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 40 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 40 | result_scale); | 896 | 40 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 40 | return true; | 912 | 40 | } | 913 | | | 914 | 0 | return false; | 915 | 40 | }; |
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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 20 | auto call = [&](const auto& types) -> bool { | 863 | 20 | using Types = std::decay_t<decltype(types)>; | 864 | 20 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 20 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 20 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 20 | if (arguments.size() == 1 || | 885 | 20 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 20 | return true; | 912 | 20 | } | 913 | | | 914 | 0 | return false; | 915 | 20 | }; |
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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 24 | auto call = [&](const auto& types) -> bool { | 863 | 24 | using Types = std::decay_t<decltype(types)>; | 864 | 24 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 24 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 24 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 24 | if (arguments.size() == 1 || | 885 | 24 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 24 | Int16 scale_arg = 0; | 888 | 24 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 24 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 24 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 24 | result_scale); | 896 | 24 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 24 | return true; | 912 | 24 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 11 | auto call = [&](const auto& types) -> bool { | 863 | 11 | using Types = std::decay_t<decltype(types)>; | 864 | 11 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 11 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 11 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 11 | if (arguments.size() == 1 || | 885 | 11 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 11 | Int16 scale_arg = 0; | 888 | 11 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 11 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 11 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 11 | result_scale); | 896 | 11 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 11 | return true; | 912 | 11 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ Line | Count | Source | 862 | 8 | auto call = [&](const auto& types) -> bool { | 863 | 8 | using Types = std::decay_t<decltype(types)>; | 864 | 8 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 8 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 8 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 8 | if (arguments.size() == 1 || | 885 | 8 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 8 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 8 | if (is_col_general_const) { | 899 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 4 | apply_const_vec( | 901 | 4 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 4 | block.get_by_position(arguments[1]).column.get(), | 903 | 4 | result_scale); | 904 | 4 | } else { | 905 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 4 | apply_vec_vec(col_general, | 907 | 4 | block.get_by_position(arguments[1]).column.get(), | 908 | 4 | result_scale); | 909 | 4 | } | 910 | 8 | } | 911 | 8 | return true; | 912 | 8 | } | 913 | | | 914 | 0 | return false; | 915 | 8 | }; |
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 54 | auto call = [&](const auto& types) -> bool { | 863 | 54 | using Types = std::decay_t<decltype(types)>; | 864 | 54 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 54 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 54 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 54 | if (arguments.size() == 1 || | 885 | 54 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 36 | Int16 scale_arg = 0; | 888 | 36 | if (arguments.size() == 2) { | 889 | 36 | RETURN_IF_ERROR( | 890 | 36 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 36 | } | 892 | | | 893 | 36 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 36 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 36 | result_scale); | 896 | 36 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 18 | if (is_col_general_const) { | 899 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 5 | apply_const_vec( | 901 | 5 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 5 | block.get_by_position(arguments[1]).column.get(), | 903 | 5 | result_scale); | 904 | 13 | } else { | 905 | 13 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 13 | apply_vec_vec(col_general, | 907 | 13 | block.get_by_position(arguments[1]).column.get(), | 908 | 13 | result_scale); | 909 | 13 | } | 910 | 18 | } | 911 | 54 | return true; | 912 | 54 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ Line | Count | Source | 862 | 8 | auto call = [&](const auto& types) -> bool { | 863 | 8 | using Types = std::decay_t<decltype(types)>; | 864 | 8 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 8 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 8 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 8 | if (arguments.size() == 1 || | 885 | 8 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 8 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 8 | if (is_col_general_const) { | 899 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 4 | apply_const_vec( | 901 | 4 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 4 | block.get_by_position(arguments[1]).column.get(), | 903 | 4 | result_scale); | 904 | 4 | } else { | 905 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 4 | apply_vec_vec(col_general, | 907 | 4 | block.get_by_position(arguments[1]).column.get(), | 908 | 4 | result_scale); | 909 | 4 | } | 910 | 8 | } | 911 | 8 | return true; | 912 | 8 | } | 913 | | | 914 | 0 | return false; | 915 | 8 | }; |
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 17 | if (is_col_general_const) { | 899 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 5 | apply_const_vec( | 901 | 5 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 5 | block.get_by_position(arguments[1]).column.get(), | 903 | 5 | result_scale); | 904 | 12 | } else { | 905 | 12 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 12 | apply_vec_vec(col_general, | 907 | 12 | block.get_by_position(arguments[1]).column.get(), | 908 | 12 | result_scale); | 909 | 12 | } | 910 | 17 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ Line | Count | Source | 862 | 10 | auto call = [&](const auto& types) -> bool { | 863 | 10 | using Types = std::decay_t<decltype(types)>; | 864 | 10 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 10 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 10 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 10 | if (arguments.size() == 1 || | 885 | 10 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 10 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 10 | if (is_col_general_const) { | 899 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 5 | apply_const_vec( | 901 | 5 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 5 | block.get_by_position(arguments[1]).column.get(), | 903 | 5 | result_scale); | 904 | 5 | } else { | 905 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 5 | apply_vec_vec(col_general, | 907 | 5 | block.get_by_position(arguments[1]).column.get(), | 908 | 5 | result_scale); | 909 | 5 | } | 910 | 10 | } | 911 | 10 | return true; | 912 | 10 | } | 913 | | | 914 | 0 | return false; | 915 | 10 | }; |
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 479 | auto call = [&](const auto& types) -> bool { | 863 | 479 | using Types = std::decay_t<decltype(types)>; | 864 | 479 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 479 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 479 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 479 | if (arguments.size() == 1 || | 885 | 479 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 463 | Int16 scale_arg = 0; | 888 | 463 | if (arguments.size() == 2) { | 889 | 463 | RETURN_IF_ERROR( | 890 | 463 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 463 | } | 892 | | | 893 | 463 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 463 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 463 | result_scale); | 896 | 463 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 16 | if (is_col_general_const) { | 899 | 6 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 6 | apply_const_vec( | 901 | 6 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 6 | block.get_by_position(arguments[1]).column.get(), | 903 | 6 | result_scale); | 904 | 10 | } else { | 905 | 10 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 10 | apply_vec_vec(col_general, | 907 | 10 | block.get_by_position(arguments[1]).column.get(), | 908 | 10 | result_scale); | 909 | 10 | } | 910 | 16 | } | 911 | 479 | return true; | 912 | 479 | } | 913 | | | 914 | 0 | return false; | 915 | 479 | }; |
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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ Line | Count | Source | 862 | 8 | auto call = [&](const auto& types) -> bool { | 863 | 8 | using Types = std::decay_t<decltype(types)>; | 864 | 8 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 8 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 8 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 8 | if (arguments.size() == 1 || | 885 | 8 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 8 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 8 | if (is_col_general_const) { | 899 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 4 | apply_const_vec( | 901 | 4 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 4 | block.get_by_position(arguments[1]).column.get(), | 903 | 4 | result_scale); | 904 | 4 | } else { | 905 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 4 | apply_vec_vec(col_general, | 907 | 4 | block.get_by_position(arguments[1]).column.get(), | 908 | 4 | result_scale); | 909 | 4 | } | 910 | 8 | } | 911 | 8 | return true; | 912 | 8 | } | 913 | | | 914 | 0 | return false; | 915 | 8 | }; |
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 20 | auto call = [&](const auto& types) -> bool { | 863 | 20 | using Types = std::decay_t<decltype(types)>; | 864 | 20 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 20 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 20 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 20 | if (arguments.size() == 1 || | 885 | 20 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 20 | if (is_col_general_const) { | 899 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 5 | apply_const_vec( | 901 | 5 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 5 | block.get_by_position(arguments[1]).column.get(), | 903 | 5 | result_scale); | 904 | 15 | } else { | 905 | 15 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 15 | apply_vec_vec(col_general, | 907 | 15 | block.get_by_position(arguments[1]).column.get(), | 908 | 15 | result_scale); | 909 | 15 | } | 910 | 20 | } | 911 | 20 | return true; | 912 | 20 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEvEEEEbSI_ _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEvEEEEbSI_ Line | Count | Source | 862 | 10 | auto call = [&](const auto& types) -> bool { | 863 | 10 | using Types = std::decay_t<decltype(types)>; | 864 | 10 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 10 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 10 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 10 | if (arguments.size() == 1 || | 885 | 10 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 0 | Int16 scale_arg = 0; | 888 | 0 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 0 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 0 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 0 | result_scale); | 896 | 10 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 10 | if (is_col_general_const) { | 899 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 5 | apply_const_vec( | 901 | 5 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 5 | block.get_by_position(arguments[1]).column.get(), | 903 | 5 | result_scale); | 904 | 5 | } else { | 905 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 5 | apply_vec_vec(col_general, | 907 | 5 | block.get_by_position(arguments[1]).column.get(), | 908 | 5 | result_scale); | 909 | 5 | } | 910 | 10 | } | 911 | 10 | return true; | 912 | 10 | } | 913 | | | 914 | 0 | return false; | 915 | 10 | }; |
_ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEvEEEEbSI_ Line | Count | Source | 862 | 24 | auto call = [&](const auto& types) -> bool { | 863 | 24 | using Types = std::decay_t<decltype(types)>; | 864 | 24 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 24 | Int16 result_scale = 0; | 869 | | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | | if (column_result.type->is_nullable()) { | 871 | | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | | column_result.type)) { | 873 | | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | | } else { | 875 | | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | | "Illegal nullable column"); | 877 | | } | 878 | | } else { | 879 | | result_scale = column_result.type->get_scale(); | 880 | | } | 881 | | } | 882 | | | 883 | 24 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 24 | if (arguments.size() == 1 || | 885 | 24 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 8 | Int16 scale_arg = 0; | 888 | 8 | if (arguments.size() == 2) { | 889 | 8 | RETURN_IF_ERROR( | 890 | 8 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 8 | } | 892 | | | 893 | 8 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 8 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 8 | result_scale); | 896 | 16 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 16 | if (is_col_general_const) { | 899 | 6 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 6 | apply_const_vec( | 901 | 6 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 6 | block.get_by_position(arguments[1]).column.get(), | 903 | 6 | result_scale); | 904 | 10 | } else { | 905 | 10 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 10 | apply_vec_vec(col_general, | 907 | 10 | block.get_by_position(arguments[1]).column.get(), | 908 | 10 | result_scale); | 909 | 10 | } | 910 | 16 | } | 911 | 24 | return true; | 912 | 24 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSI_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 9 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 9 | column_result.type)) { | 873 | 9 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 9 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 9 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 0 | return false; | 915 | 17 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 9 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 9 | column_result.type)) { | 873 | 9 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 9 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 9 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 0 | return false; | 915 | 17 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 9 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 9 | column_result.type)) { | 873 | 9 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 9 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 9 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 0 | return false; | 915 | 17 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 19 | auto call = [&](const auto& types) -> bool { | 863 | 19 | using Types = std::decay_t<decltype(types)>; | 864 | 19 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 19 | Int16 result_scale = 0; | 869 | 19 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 19 | if (column_result.type->is_nullable()) { | 871 | 5 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 5 | column_result.type)) { | 873 | 5 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 5 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 14 | } else { | 879 | 14 | result_scale = column_result.type->get_scale(); | 880 | 14 | } | 881 | 19 | } | 882 | | | 883 | 19 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 19 | if (arguments.size() == 1 || | 885 | 19 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 19 | Int16 scale_arg = 0; | 888 | 19 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 19 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 19 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 19 | result_scale); | 896 | 19 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 19 | return true; | 912 | 19 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 216 | auto call = [&](const auto& types) -> bool { | 863 | 216 | using Types = std::decay_t<decltype(types)>; | 864 | 216 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 216 | Int16 result_scale = 0; | 869 | 216 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 216 | if (column_result.type->is_nullable()) { | 871 | 208 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 208 | column_result.type)) { | 873 | 208 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 208 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 208 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 216 | } | 882 | | | 883 | 216 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 216 | if (arguments.size() == 1 || | 885 | 216 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 216 | Int16 scale_arg = 0; | 888 | 216 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 216 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 216 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 216 | result_scale); | 896 | 216 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 216 | return true; | 912 | 216 | } | 913 | | | 914 | 0 | return false; | 915 | 216 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 23 | auto call = [&](const auto& types) -> bool { | 863 | 23 | using Types = std::decay_t<decltype(types)>; | 864 | 23 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 23 | Int16 result_scale = 0; | 869 | 23 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 23 | if (column_result.type->is_nullable()) { | 871 | 15 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 15 | column_result.type)) { | 873 | 15 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 15 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 15 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 23 | } | 882 | | | 883 | 23 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 23 | if (arguments.size() == 1 || | 885 | 23 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 23 | Int16 scale_arg = 0; | 888 | 23 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 23 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 23 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 23 | result_scale); | 896 | 23 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 23 | return true; | 912 | 23 | } | 913 | | | 914 | 0 | return false; | 915 | 23 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 19 | auto call = [&](const auto& types) -> bool { | 863 | 19 | using Types = std::decay_t<decltype(types)>; | 864 | 19 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 19 | Int16 result_scale = 0; | 869 | 19 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 19 | if (column_result.type->is_nullable()) { | 871 | 11 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 11 | column_result.type)) { | 873 | 11 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 11 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 11 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 19 | } | 882 | | | 883 | 19 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 19 | if (arguments.size() == 1 || | 885 | 19 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 19 | Int16 scale_arg = 0; | 888 | 19 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 19 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 19 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 19 | result_scale); | 896 | 19 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 19 | return true; | 912 | 19 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 79 | auto call = [&](const auto& types) -> bool { | 863 | 79 | using Types = std::decay_t<decltype(types)>; | 864 | 79 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 79 | Int16 result_scale = 0; | 869 | 79 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 79 | if (column_result.type->is_nullable()) { | 871 | 75 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 75 | column_result.type)) { | 873 | 75 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 75 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 75 | } else { | 879 | 4 | result_scale = column_result.type->get_scale(); | 880 | 4 | } | 881 | 79 | } | 882 | | | 883 | 79 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 79 | if (arguments.size() == 1 || | 885 | 79 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 79 | Int16 scale_arg = 0; | 888 | 79 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 79 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 79 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 79 | result_scale); | 896 | 79 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 79 | return true; | 912 | 79 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 25 | auto call = [&](const auto& types) -> bool { | 863 | 25 | using Types = std::decay_t<decltype(types)>; | 864 | 25 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 25 | Int16 result_scale = 0; | 869 | 25 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 25 | if (column_result.type->is_nullable()) { | 871 | 15 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 15 | column_result.type)) { | 873 | 15 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 15 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 15 | } else { | 879 | 10 | result_scale = column_result.type->get_scale(); | 880 | 10 | } | 881 | 25 | } | 882 | | | 883 | 25 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 25 | if (arguments.size() == 1 || | 885 | 25 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 25 | Int16 scale_arg = 0; | 888 | 25 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 25 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 25 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 25 | result_scale); | 896 | 25 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 25 | return true; | 912 | 25 | } | 913 | | | 914 | 0 | return false; | 915 | 25 | }; |
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 761 | auto call = [&](const auto& types) -> bool { | 863 | 761 | using Types = std::decay_t<decltype(types)>; | 864 | 761 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 761 | Int16 result_scale = 0; | 869 | 761 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 761 | if (column_result.type->is_nullable()) { | 871 | 385 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 385 | column_result.type)) { | 873 | 385 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 385 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 385 | } else { | 879 | 376 | result_scale = column_result.type->get_scale(); | 880 | 376 | } | 881 | 761 | } | 882 | | | 883 | 761 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 761 | if (arguments.size() == 1 || | 885 | 761 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 761 | Int16 scale_arg = 0; | 888 | 761 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 761 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 761 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 761 | result_scale); | 896 | 761 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 761 | return true; | 912 | 761 | } | 913 | | | 914 | 0 | return false; | 915 | 761 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 31 | auto call = [&](const auto& types) -> bool { | 863 | 31 | using Types = std::decay_t<decltype(types)>; | 864 | 31 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 31 | Int16 result_scale = 0; | 869 | 31 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 31 | if (column_result.type->is_nullable()) { | 871 | 23 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 23 | column_result.type)) { | 873 | 23 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 23 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 23 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 31 | } | 882 | | | 883 | 31 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 31 | if (arguments.size() == 1 || | 885 | 31 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 31 | Int16 scale_arg = 0; | 888 | 31 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 31 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 31 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 31 | result_scale); | 896 | 31 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 31 | return true; | 912 | 31 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 9 | auto call = [&](const auto& types) -> bool { | 863 | 9 | using Types = std::decay_t<decltype(types)>; | 864 | 9 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 9 | Int16 result_scale = 0; | 869 | 9 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 9 | if (column_result.type->is_nullable()) { | 871 | 5 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 5 | column_result.type)) { | 873 | 5 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 5 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 5 | } else { | 879 | 4 | result_scale = column_result.type->get_scale(); | 880 | 4 | } | 881 | 9 | } | 882 | | | 883 | 9 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 9 | if (arguments.size() == 1 || | 885 | 9 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 9 | Int16 scale_arg = 0; | 888 | 9 | if (arguments.size() == 2) { | 889 | 0 | RETURN_IF_ERROR( | 890 | 0 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 0 | } | 892 | | | 893 | 9 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 9 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 9 | result_scale); | 896 | 9 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 9 | return true; | 912 | 9 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 66 | auto call = [&](const auto& types) -> bool { | 863 | 66 | using Types = std::decay_t<decltype(types)>; | 864 | 66 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 66 | Int16 result_scale = 0; | 869 | 66 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 66 | if (column_result.type->is_nullable()) { | 871 | 26 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 26 | column_result.type)) { | 873 | 26 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 26 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 40 | } else { | 879 | 40 | result_scale = column_result.type->get_scale(); | 880 | 40 | } | 881 | 66 | } | 882 | | | 883 | 66 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 66 | if (arguments.size() == 1 || | 885 | 66 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 30 | Int16 scale_arg = 0; | 888 | 30 | if (arguments.size() == 2) { | 889 | 30 | RETURN_IF_ERROR( | 890 | 30 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 30 | } | 892 | | | 893 | 30 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 30 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 30 | result_scale); | 896 | 36 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 36 | if (is_col_general_const) { | 899 | 15 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 15 | apply_const_vec( | 901 | 15 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 15 | block.get_by_position(arguments[1]).column.get(), | 903 | 15 | result_scale); | 904 | 21 | } else { | 905 | 21 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 21 | apply_vec_vec(col_general, | 907 | 21 | block.get_by_position(arguments[1]).column.get(), | 908 | 21 | result_scale); | 909 | 21 | } | 910 | 36 | } | 911 | 66 | return true; | 912 | 66 | } | 913 | | | 914 | 0 | return false; | 915 | 66 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 56 | auto call = [&](const auto& types) -> bool { | 863 | 56 | using Types = std::decay_t<decltype(types)>; | 864 | 56 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 56 | Int16 result_scale = 0; | 869 | 56 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 56 | if (column_result.type->is_nullable()) { | 871 | 18 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 18 | column_result.type)) { | 873 | 18 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 18 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 38 | } else { | 879 | 38 | result_scale = column_result.type->get_scale(); | 880 | 38 | } | 881 | 56 | } | 882 | | | 883 | 56 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 56 | if (arguments.size() == 1 || | 885 | 56 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 20 | RETURN_IF_ERROR( | 890 | 20 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 20 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 36 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 36 | if (is_col_general_const) { | 899 | 15 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 15 | apply_const_vec( | 901 | 15 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 15 | block.get_by_position(arguments[1]).column.get(), | 903 | 15 | result_scale); | 904 | 21 | } else { | 905 | 21 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 21 | apply_vec_vec(col_general, | 907 | 21 | block.get_by_position(arguments[1]).column.get(), | 908 | 21 | result_scale); | 909 | 21 | } | 910 | 36 | } | 911 | 56 | return true; | 912 | 56 | } | 913 | | | 914 | 0 | return false; | 915 | 56 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 59 | auto call = [&](const auto& types) -> bool { | 863 | 59 | using Types = std::decay_t<decltype(types)>; | 864 | 59 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 59 | Int16 result_scale = 0; | 869 | 59 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 59 | if (column_result.type->is_nullable()) { | 871 | 20 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 20 | column_result.type)) { | 873 | 20 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 20 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 39 | } else { | 879 | 39 | result_scale = column_result.type->get_scale(); | 880 | 39 | } | 881 | 59 | } | 882 | | | 883 | 59 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 59 | if (arguments.size() == 1 || | 885 | 59 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 21 | Int16 scale_arg = 0; | 888 | 21 | if (arguments.size() == 2) { | 889 | 21 | RETURN_IF_ERROR( | 890 | 21 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 21 | } | 892 | | | 893 | 21 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 21 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 21 | result_scale); | 896 | 38 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 38 | if (is_col_general_const) { | 899 | 16 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 16 | apply_const_vec( | 901 | 16 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 16 | block.get_by_position(arguments[1]).column.get(), | 903 | 16 | result_scale); | 904 | 22 | } else { | 905 | 22 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 22 | apply_vec_vec(col_general, | 907 | 22 | block.get_by_position(arguments[1]).column.get(), | 908 | 22 | result_scale); | 909 | 22 | } | 910 | 38 | } | 911 | 59 | return true; | 912 | 59 | } | 913 | | | 914 | 0 | return false; | 915 | 59 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 56 | auto call = [&](const auto& types) -> bool { | 863 | 56 | using Types = std::decay_t<decltype(types)>; | 864 | 56 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 56 | Int16 result_scale = 0; | 869 | 56 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 56 | if (column_result.type->is_nullable()) { | 871 | 17 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 17 | column_result.type)) { | 873 | 17 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 17 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 39 | } else { | 879 | 39 | result_scale = column_result.type->get_scale(); | 880 | 39 | } | 881 | 56 | } | 882 | | | 883 | 56 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 56 | if (arguments.size() == 1 || | 885 | 56 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 19 | Int16 scale_arg = 0; | 888 | 19 | if (arguments.size() == 2) { | 889 | 19 | RETURN_IF_ERROR( | 890 | 19 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 19 | } | 892 | | | 893 | 19 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 19 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 19 | result_scale); | 896 | 37 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 37 | if (is_col_general_const) { | 899 | 15 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 15 | apply_const_vec( | 901 | 15 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 15 | block.get_by_position(arguments[1]).column.get(), | 903 | 15 | result_scale); | 904 | 22 | } else { | 905 | 22 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 22 | apply_vec_vec(col_general, | 907 | 22 | block.get_by_position(arguments[1]).column.get(), | 908 | 22 | result_scale); | 909 | 22 | } | 910 | 37 | } | 911 | 56 | return true; | 912 | 56 | } | 913 | | | 914 | 0 | return false; | 915 | 56 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Line | Count | Source | 862 | 52 | auto call = [&](const auto& types) -> bool { | 863 | 52 | using Types = std::decay_t<decltype(types)>; | 864 | 52 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 52 | Int16 result_scale = 0; | 869 | 52 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 52 | if (column_result.type->is_nullable()) { | 871 | 14 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 14 | column_result.type)) { | 873 | 14 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 14 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 38 | } else { | 879 | 38 | result_scale = column_result.type->get_scale(); | 880 | 38 | } | 881 | 52 | } | 882 | | | 883 | 52 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 52 | if (arguments.size() == 1 || | 885 | 52 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 12 | Int16 scale_arg = 0; | 888 | 12 | if (arguments.size() == 2) { | 889 | 12 | RETURN_IF_ERROR( | 890 | 12 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 12 | } | 892 | | | 893 | 12 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 12 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 12 | result_scale); | 896 | 40 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 40 | if (is_col_general_const) { | 899 | 15 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 15 | apply_const_vec( | 901 | 15 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 15 | block.get_by_position(arguments[1]).column.get(), | 903 | 15 | result_scale); | 904 | 25 | } else { | 905 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 25 | apply_vec_vec(col_general, | 907 | 25 | block.get_by_position(arguments[1]).column.get(), | 908 | 25 | result_scale); | 909 | 25 | } | 910 | 40 | } | 911 | 52 | return true; | 912 | 52 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 48 | auto call = [&](const auto& types) -> bool { | 863 | 48 | using Types = std::decay_t<decltype(types)>; | 864 | 48 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 48 | Int16 result_scale = 0; | 869 | 48 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 48 | if (column_result.type->is_nullable()) { | 871 | 31 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 31 | column_result.type)) { | 873 | 31 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 31 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 31 | } else { | 879 | 17 | result_scale = column_result.type->get_scale(); | 880 | 17 | } | 881 | 48 | } | 882 | | | 883 | 48 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 48 | if (arguments.size() == 1 || | 885 | 48 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 26 | Int16 scale_arg = 0; | 888 | 26 | if (arguments.size() == 2) { | 889 | 26 | RETURN_IF_ERROR( | 890 | 26 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 26 | } | 892 | | | 893 | 26 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 26 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 26 | result_scale); | 896 | 26 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 22 | if (is_col_general_const) { | 899 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 14 | apply_const_vec( | 901 | 14 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 14 | block.get_by_position(arguments[1]).column.get(), | 903 | 14 | result_scale); | 904 | 14 | } else { | 905 | 8 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 8 | apply_vec_vec(col_general, | 907 | 8 | block.get_by_position(arguments[1]).column.get(), | 908 | 8 | result_scale); | 909 | 8 | } | 910 | 22 | } | 911 | 48 | return true; | 912 | 48 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 42 | auto call = [&](const auto& types) -> bool { | 863 | 42 | using Types = std::decay_t<decltype(types)>; | 864 | 42 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 42 | Int16 result_scale = 0; | 869 | 42 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 42 | if (column_result.type->is_nullable()) { | 871 | 22 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 22 | column_result.type)) { | 873 | 22 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 22 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 22 | } else { | 879 | 20 | result_scale = column_result.type->get_scale(); | 880 | 20 | } | 881 | 42 | } | 882 | | | 883 | 42 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 42 | if (arguments.size() == 1 || | 885 | 42 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 21 | Int16 scale_arg = 0; | 888 | 21 | if (arguments.size() == 2) { | 889 | 21 | RETURN_IF_ERROR( | 890 | 21 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 21 | } | 892 | | | 893 | 21 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 21 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 21 | result_scale); | 896 | 21 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 21 | if (is_col_general_const) { | 899 | 7 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 7 | apply_const_vec( | 901 | 7 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 7 | block.get_by_position(arguments[1]).column.get(), | 903 | 7 | result_scale); | 904 | 14 | } else { | 905 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 14 | apply_vec_vec(col_general, | 907 | 14 | block.get_by_position(arguments[1]).column.get(), | 908 | 14 | result_scale); | 909 | 14 | } | 910 | 21 | } | 911 | 42 | return true; | 912 | 42 | } | 913 | | | 914 | 0 | return false; | 915 | 42 | }; |
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 40 | auto call = [&](const auto& types) -> bool { | 863 | 40 | using Types = std::decay_t<decltype(types)>; | 864 | 40 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 40 | Int16 result_scale = 0; | 869 | 40 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 40 | if (column_result.type->is_nullable()) { | 871 | 20 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 20 | column_result.type)) { | 873 | 20 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 20 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 20 | } else { | 879 | 20 | result_scale = column_result.type->get_scale(); | 880 | 20 | } | 881 | 40 | } | 882 | | | 883 | 40 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 40 | if (arguments.size() == 1 || | 885 | 40 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 20 | RETURN_IF_ERROR( | 890 | 20 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 20 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 20 | if (is_col_general_const) { | 899 | 6 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 6 | apply_const_vec( | 901 | 6 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 6 | block.get_by_position(arguments[1]).column.get(), | 903 | 6 | result_scale); | 904 | 14 | } else { | 905 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 14 | apply_vec_vec(col_general, | 907 | 14 | block.get_by_position(arguments[1]).column.get(), | 908 | 14 | result_scale); | 909 | 14 | } | 910 | 20 | } | 911 | 40 | return true; | 912 | 40 | } | 913 | | | 914 | 0 | return false; | 915 | 40 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 39 | auto call = [&](const auto& types) -> bool { | 863 | 39 | using Types = std::decay_t<decltype(types)>; | 864 | 39 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 39 | Int16 result_scale = 0; | 869 | 39 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 39 | if (column_result.type->is_nullable()) { | 871 | 18 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 18 | column_result.type)) { | 873 | 18 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 18 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 21 | } else { | 879 | 21 | result_scale = column_result.type->get_scale(); | 880 | 21 | } | 881 | 39 | } | 882 | | | 883 | 39 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 39 | if (arguments.size() == 1 || | 885 | 39 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 20 | RETURN_IF_ERROR( | 890 | 20 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 20 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 19 | if (is_col_general_const) { | 899 | 6 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 6 | apply_const_vec( | 901 | 6 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 6 | block.get_by_position(arguments[1]).column.get(), | 903 | 6 | result_scale); | 904 | 13 | } else { | 905 | 13 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 13 | apply_vec_vec(col_general, | 907 | 13 | block.get_by_position(arguments[1]).column.get(), | 908 | 13 | result_scale); | 909 | 13 | } | 910 | 19 | } | 911 | 39 | return true; | 912 | 39 | } | 913 | | | 914 | 0 | return false; | 915 | 39 | }; |
Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Line | Count | Source | 862 | 32 | auto call = [&](const auto& types) -> bool { | 863 | 32 | using Types = std::decay_t<decltype(types)>; | 864 | 32 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 32 | Int16 result_scale = 0; | 869 | 32 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 32 | if (column_result.type->is_nullable()) { | 871 | 16 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 16 | column_result.type)) { | 873 | 16 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 16 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 16 | } else { | 879 | 16 | result_scale = column_result.type->get_scale(); | 880 | 16 | } | 881 | 32 | } | 882 | | | 883 | 32 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 32 | if (arguments.size() == 1 || | 885 | 32 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 12 | Int16 scale_arg = 0; | 888 | 12 | if (arguments.size() == 2) { | 889 | 12 | RETURN_IF_ERROR( | 890 | 12 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 12 | } | 892 | | | 893 | 12 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 12 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 12 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 20 | if (is_col_general_const) { | 899 | 6 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 6 | apply_const_vec( | 901 | 6 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 6 | block.get_by_position(arguments[1]).column.get(), | 903 | 6 | result_scale); | 904 | 14 | } else { | 905 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 14 | apply_vec_vec(col_general, | 907 | 14 | block.get_by_position(arguments[1]).column.get(), | 908 | 14 | result_scale); | 909 | 14 | } | 910 | 20 | } | 911 | 32 | return true; | 912 | 32 | } | 913 | | | 914 | 0 | return false; | 915 | 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 18 | auto call = [&](const auto& types) -> bool { | 863 | 18 | using Types = std::decay_t<decltype(types)>; | 864 | 18 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 18 | Int16 result_scale = 0; | 869 | 18 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 18 | if (column_result.type->is_nullable()) { | 871 | 14 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 14 | column_result.type)) { | 873 | 14 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 14 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 14 | } else { | 879 | 4 | result_scale = column_result.type->get_scale(); | 880 | 4 | } | 881 | 18 | } | 882 | | | 883 | 18 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 18 | if (arguments.size() == 1 || | 885 | 18 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 15 | Int16 scale_arg = 0; | 888 | 15 | if (arguments.size() == 2) { | 889 | 15 | RETURN_IF_ERROR( | 890 | 15 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 15 | } | 892 | | | 893 | 15 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 15 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 15 | result_scale); | 896 | 15 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 3 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 3 | } else { | 905 | 3 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 3 | apply_vec_vec(col_general, | 907 | 3 | block.get_by_position(arguments[1]).column.get(), | 908 | 3 | result_scale); | 909 | 3 | } | 910 | 3 | } | 911 | 18 | return true; | 912 | 18 | } | 913 | | | 914 | 0 | return false; | 915 | 18 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 27 | auto call = [&](const auto& types) -> bool { | 863 | 27 | using Types = std::decay_t<decltype(types)>; | 864 | 27 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 27 | Int16 result_scale = 0; | 869 | 27 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 27 | if (column_result.type->is_nullable()) { | 871 | 19 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 19 | column_result.type)) { | 873 | 19 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 19 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 19 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 27 | } | 882 | | | 883 | 27 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 27 | if (arguments.size() == 1 || | 885 | 27 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 23 | Int16 scale_arg = 0; | 888 | 23 | if (arguments.size() == 2) { | 889 | 23 | RETURN_IF_ERROR( | 890 | 23 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 23 | } | 892 | | | 893 | 23 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 23 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 23 | result_scale); | 896 | 23 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 4 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 4 | } else { | 905 | 4 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 4 | apply_vec_vec(col_general, | 907 | 4 | block.get_by_position(arguments[1]).column.get(), | 908 | 4 | result_scale); | 909 | 4 | } | 910 | 4 | } | 911 | 27 | return true; | 912 | 27 | } | 913 | | | 914 | 0 | return false; | 915 | 27 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 181 | auto call = [&](const auto& types) -> bool { | 863 | 181 | using Types = std::decay_t<decltype(types)>; | 864 | 181 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 181 | Int16 result_scale = 0; | 869 | 181 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 181 | if (column_result.type->is_nullable()) { | 871 | 171 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 171 | column_result.type)) { | 873 | 171 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 171 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 171 | } else { | 879 | 10 | result_scale = column_result.type->get_scale(); | 880 | 10 | } | 881 | 181 | } | 882 | | | 883 | 181 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 181 | if (arguments.size() == 1 || | 885 | 181 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 176 | Int16 scale_arg = 0; | 888 | 176 | if (arguments.size() == 2) { | 889 | 176 | RETURN_IF_ERROR( | 890 | 176 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 176 | } | 892 | | | 893 | 176 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 176 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 176 | result_scale); | 896 | 176 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 5 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 5 | } else { | 905 | 5 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 5 | apply_vec_vec(col_general, | 907 | 5 | block.get_by_position(arguments[1]).column.get(), | 908 | 5 | result_scale); | 909 | 5 | } | 910 | 5 | } | 911 | 181 | return true; | 912 | 181 | } | 913 | | | 914 | 0 | return false; | 915 | 181 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 25 | auto call = [&](const auto& types) -> bool { | 863 | 25 | using Types = std::decay_t<decltype(types)>; | 864 | 25 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 25 | Int16 result_scale = 0; | 869 | 25 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 25 | if (column_result.type->is_nullable()) { | 871 | 17 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 17 | column_result.type)) { | 873 | 17 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 17 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 17 | } else { | 879 | 8 | result_scale = column_result.type->get_scale(); | 880 | 8 | } | 881 | 25 | } | 882 | | | 883 | 25 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 25 | if (arguments.size() == 1 || | 885 | 25 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 22 | Int16 scale_arg = 0; | 888 | 22 | if (arguments.size() == 2) { | 889 | 22 | RETURN_IF_ERROR( | 890 | 22 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 22 | } | 892 | | | 893 | 22 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 22 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 22 | result_scale); | 896 | 22 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 3 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 3 | } else { | 905 | 3 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 3 | apply_vec_vec(col_general, | 907 | 3 | block.get_by_position(arguments[1]).column.get(), | 908 | 3 | result_scale); | 909 | 3 | } | 910 | 3 | } | 911 | 25 | return true; | 912 | 25 | } | 913 | | | 914 | 0 | return false; | 915 | 25 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Line | Count | Source | 862 | 20 | auto call = [&](const auto& types) -> bool { | 863 | 20 | using Types = std::decay_t<decltype(types)>; | 864 | 20 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 20 | Int16 result_scale = 0; | 869 | 20 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 20 | if (column_result.type->is_nullable()) { | 871 | 16 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 16 | column_result.type)) { | 873 | 16 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 16 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 16 | } else { | 879 | 4 | result_scale = column_result.type->get_scale(); | 880 | 4 | } | 881 | 20 | } | 882 | | | 883 | 20 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 20 | if (arguments.size() == 1 || | 885 | 20 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 17 | RETURN_IF_ERROR( | 890 | 17 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 17 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 3 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 3 | } else { | 905 | 3 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 3 | apply_vec_vec(col_general, | 907 | 3 | block.get_by_position(arguments[1]).column.get(), | 908 | 3 | result_scale); | 909 | 3 | } | 910 | 3 | } | 911 | 20 | return true; | 912 | 20 | } | 913 | | | 914 | 0 | return false; | 915 | 20 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Line | Count | Source | 862 | 14 | auto call = [&](const auto& types) -> bool { | 863 | 14 | using Types = std::decay_t<decltype(types)>; | 864 | 14 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 14 | Int16 result_scale = 0; | 869 | 14 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 14 | if (column_result.type->is_nullable()) { | 871 | 14 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 14 | column_result.type)) { | 873 | 14 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 14 | } else { | 875 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 0 | "Illegal nullable column"); | 877 | 0 | } | 878 | 14 | } else { | 879 | 0 | result_scale = column_result.type->get_scale(); | 880 | 0 | } | 881 | 14 | } | 882 | | | 883 | 14 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 14 | if (arguments.size() == 1 || | 885 | 14 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 14 | Int16 scale_arg = 0; | 888 | 14 | if (arguments.size() == 2) { | 889 | 14 | RETURN_IF_ERROR( | 890 | 14 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 14 | } | 892 | | | 893 | 14 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 14 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 14 | result_scale); | 896 | 14 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 0 | if (is_col_general_const) { | 899 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 0 | apply_const_vec( | 901 | 0 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 0 | block.get_by_position(arguments[1]).column.get(), | 903 | 0 | result_scale); | 904 | 0 | } else { | 905 | 0 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 0 | apply_vec_vec(col_general, | 907 | 0 | block.get_by_position(arguments[1]).column.get(), | 908 | 0 | result_scale); | 909 | 0 | } | 910 | 0 | } | 911 | 14 | return true; | 912 | 14 | } | 913 | | | 914 | 0 | return false; | 915 | 14 | }; |
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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ 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_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_2EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_3EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_4EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_5EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_6EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_7EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_8EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeNumberILS3_9EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_28EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_29EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_20EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_30EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_15DataTypeDecimalILS3_35EEEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeDateEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeDateV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_18DataTypeDateTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_16DataTypeDateTimeEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeTimeV2EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_19DataTypeTimeStampTzEvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv4EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_12DataTypeIPv6EvEEEEbSJ_ Unexecuted instantiation: _ZZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmENKUlRKT_E_clINS_8TypePairINS_14DataTypeStringEvEEEEbSJ_ |
916 | | |
917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) |
918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. |
919 | | /// Actually it is by default. But we will set it just in case. |
920 | | if constexpr (rounding_mode == RoundingMode::Round) { |
921 | | if (0 != fesetround(FE_TONEAREST)) { |
922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); |
923 | | } |
924 | | } |
925 | | #endif |
926 | | |
927 | 2.74k | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { |
928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", |
929 | 0 | column_general.type->get_name(), name); |
930 | 0 | } |
931 | | |
932 | 2.74k | column_result.column = std::move(res); |
933 | 2.74k | return Status::OK(); |
934 | 2.74k | } _ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 2 | uint32_t result, size_t input_rows_count) const override { | 845 | 2 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 2 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 2 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 2 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 2 | const auto* col_general = is_col_general_const | 850 | 2 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 2 | : column_general.column.get(); | 854 | 2 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 2 | auto call = [&](const auto& types) -> bool { | 863 | 2 | using Types = std::decay_t<decltype(types)>; | 864 | 2 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 2 | Int16 result_scale = 0; | 869 | 2 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 2 | if (column_result.type->is_nullable()) { | 871 | 2 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 2 | column_result.type)) { | 873 | 2 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 2 | } else { | 875 | 2 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 2 | "Illegal nullable column"); | 877 | 2 | } | 878 | 2 | } else { | 879 | 2 | result_scale = column_result.type->get_scale(); | 880 | 2 | } | 881 | 2 | } | 882 | | | 883 | 2 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 2 | if (arguments.size() == 1 || | 885 | 2 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 2 | Int16 scale_arg = 0; | 888 | 2 | if (arguments.size() == 2) { | 889 | 2 | RETURN_IF_ERROR( | 890 | 2 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 2 | } | 892 | | | 893 | 2 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 2 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 2 | result_scale); | 896 | 2 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 2 | if (is_col_general_const) { | 899 | 2 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 2 | apply_const_vec( | 901 | 2 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 2 | block.get_by_position(arguments[1]).column.get(), | 903 | 2 | result_scale); | 904 | 2 | } else { | 905 | 2 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 2 | apply_vec_vec(col_general, | 907 | 2 | block.get_by_position(arguments[1]).column.get(), | 908 | 2 | result_scale); | 909 | 2 | } | 910 | 2 | } | 911 | 2 | return true; | 912 | 2 | } | 913 | | | 914 | 2 | return false; | 915 | 2 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 2 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 2 | column_result.column = std::move(res); | 933 | 2 | return Status::OK(); | 934 | 2 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 40 | uint32_t result, size_t input_rows_count) const override { | 845 | 40 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 40 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 40 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 40 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 40 | const auto* col_general = is_col_general_const | 850 | 40 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 40 | : column_general.column.get(); | 854 | 40 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 40 | auto call = [&](const auto& types) -> bool { | 863 | 40 | using Types = std::decay_t<decltype(types)>; | 864 | 40 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 40 | Int16 result_scale = 0; | 869 | 40 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 40 | if (column_result.type->is_nullable()) { | 871 | 40 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 40 | column_result.type)) { | 873 | 40 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 40 | } else { | 875 | 40 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 40 | "Illegal nullable column"); | 877 | 40 | } | 878 | 40 | } else { | 879 | 40 | result_scale = column_result.type->get_scale(); | 880 | 40 | } | 881 | 40 | } | 882 | | | 883 | 40 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 40 | if (arguments.size() == 1 || | 885 | 40 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 40 | Int16 scale_arg = 0; | 888 | 40 | if (arguments.size() == 2) { | 889 | 40 | RETURN_IF_ERROR( | 890 | 40 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 40 | } | 892 | | | 893 | 40 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 40 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 40 | result_scale); | 896 | 40 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 40 | if (is_col_general_const) { | 899 | 40 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 40 | apply_const_vec( | 901 | 40 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 40 | block.get_by_position(arguments[1]).column.get(), | 903 | 40 | result_scale); | 904 | 40 | } else { | 905 | 40 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 40 | apply_vec_vec(col_general, | 907 | 40 | block.get_by_position(arguments[1]).column.get(), | 908 | 40 | result_scale); | 909 | 40 | } | 910 | 40 | } | 911 | 40 | return true; | 912 | 40 | } | 913 | | | 914 | 40 | return false; | 915 | 40 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 40 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 40 | column_result.column = std::move(res); | 933 | 40 | return Status::OK(); | 934 | 40 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 20 | uint32_t result, size_t input_rows_count) const override { | 845 | 20 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 20 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 20 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 20 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 20 | const auto* col_general = is_col_general_const | 850 | 20 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 20 | : column_general.column.get(); | 854 | 20 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 20 | auto call = [&](const auto& types) -> bool { | 863 | 20 | using Types = std::decay_t<decltype(types)>; | 864 | 20 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 20 | Int16 result_scale = 0; | 869 | 20 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 20 | if (column_result.type->is_nullable()) { | 871 | 20 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 20 | column_result.type)) { | 873 | 20 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 20 | } else { | 875 | 20 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 20 | "Illegal nullable column"); | 877 | 20 | } | 878 | 20 | } else { | 879 | 20 | result_scale = column_result.type->get_scale(); | 880 | 20 | } | 881 | 20 | } | 882 | | | 883 | 20 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 20 | if (arguments.size() == 1 || | 885 | 20 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 20 | RETURN_IF_ERROR( | 890 | 20 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 20 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 20 | if (is_col_general_const) { | 899 | 20 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 20 | apply_const_vec( | 901 | 20 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 20 | block.get_by_position(arguments[1]).column.get(), | 903 | 20 | result_scale); | 904 | 20 | } else { | 905 | 20 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 20 | apply_vec_vec(col_general, | 907 | 20 | block.get_by_position(arguments[1]).column.get(), | 908 | 20 | result_scale); | 909 | 20 | } | 910 | 20 | } | 911 | 20 | return true; | 912 | 20 | } | 913 | | | 914 | 20 | return false; | 915 | 20 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 20 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 20 | column_result.column = std::move(res); | 933 | 20 | return Status::OK(); | 934 | 20 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 24 | uint32_t result, size_t input_rows_count) const override { | 845 | 24 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 24 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 24 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 24 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 24 | const auto* col_general = is_col_general_const | 850 | 24 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 24 | : column_general.column.get(); | 854 | 24 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 24 | auto call = [&](const auto& types) -> bool { | 863 | 24 | using Types = std::decay_t<decltype(types)>; | 864 | 24 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 24 | Int16 result_scale = 0; | 869 | 24 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 24 | if (column_result.type->is_nullable()) { | 871 | 24 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 24 | column_result.type)) { | 873 | 24 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 24 | } else { | 875 | 24 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 24 | "Illegal nullable column"); | 877 | 24 | } | 878 | 24 | } else { | 879 | 24 | result_scale = column_result.type->get_scale(); | 880 | 24 | } | 881 | 24 | } | 882 | | | 883 | 24 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 24 | if (arguments.size() == 1 || | 885 | 24 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 24 | Int16 scale_arg = 0; | 888 | 24 | if (arguments.size() == 2) { | 889 | 24 | RETURN_IF_ERROR( | 890 | 24 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 24 | } | 892 | | | 893 | 24 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 24 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 24 | result_scale); | 896 | 24 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 24 | if (is_col_general_const) { | 899 | 24 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 24 | apply_const_vec( | 901 | 24 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 24 | block.get_by_position(arguments[1]).column.get(), | 903 | 24 | result_scale); | 904 | 24 | } else { | 905 | 24 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 24 | apply_vec_vec(col_general, | 907 | 24 | block.get_by_position(arguments[1]).column.get(), | 908 | 24 | result_scale); | 909 | 24 | } | 910 | 24 | } | 911 | 24 | return true; | 912 | 24 | } | 913 | | | 914 | 24 | return false; | 915 | 24 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 24 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 24 | column_result.column = std::move(res); | 933 | 24 | return Status::OK(); | 934 | 24 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundOneImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 11 | uint32_t result, size_t input_rows_count) const override { | 845 | 11 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 11 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 11 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 11 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 11 | const auto* col_general = is_col_general_const | 850 | 11 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 11 | : column_general.column.get(); | 854 | 11 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 11 | auto call = [&](const auto& types) -> bool { | 863 | 11 | using Types = std::decay_t<decltype(types)>; | 864 | 11 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 11 | Int16 result_scale = 0; | 869 | 11 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 11 | if (column_result.type->is_nullable()) { | 871 | 11 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 11 | column_result.type)) { | 873 | 11 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 11 | } else { | 875 | 11 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 11 | "Illegal nullable column"); | 877 | 11 | } | 878 | 11 | } else { | 879 | 11 | result_scale = column_result.type->get_scale(); | 880 | 11 | } | 881 | 11 | } | 882 | | | 883 | 11 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 11 | if (arguments.size() == 1 || | 885 | 11 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 11 | Int16 scale_arg = 0; | 888 | 11 | if (arguments.size() == 2) { | 889 | 11 | RETURN_IF_ERROR( | 890 | 11 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 11 | } | 892 | | | 893 | 11 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 11 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 11 | result_scale); | 896 | 11 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 11 | if (is_col_general_const) { | 899 | 11 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 11 | apply_const_vec( | 901 | 11 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 11 | block.get_by_position(arguments[1]).column.get(), | 903 | 11 | result_scale); | 904 | 11 | } else { | 905 | 11 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 11 | apply_vec_vec(col_general, | 907 | 11 | block.get_by_position(arguments[1]).column.get(), | 908 | 11 | result_scale); | 909 | 11 | } | 910 | 11 | } | 911 | 11 | return true; | 912 | 11 | } | 913 | | | 914 | 11 | return false; | 915 | 11 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 11 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 11 | column_result.column = std::move(res); | 933 | 11 | return Status::OK(); | 934 | 11 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_12TruncateNameEEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 62 | uint32_t result, size_t input_rows_count) const override { | 845 | 62 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 62 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 62 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 62 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 62 | const auto* col_general = is_col_general_const | 850 | 62 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 9 | .get_data_column_ptr() | 852 | 9 | .get() | 853 | 62 | : column_general.column.get(); | 854 | 62 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 62 | auto call = [&](const auto& types) -> bool { | 863 | 62 | using Types = std::decay_t<decltype(types)>; | 864 | 62 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 62 | Int16 result_scale = 0; | 869 | 62 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 62 | if (column_result.type->is_nullable()) { | 871 | 62 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 62 | column_result.type)) { | 873 | 62 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 62 | } else { | 875 | 62 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 62 | "Illegal nullable column"); | 877 | 62 | } | 878 | 62 | } else { | 879 | 62 | result_scale = column_result.type->get_scale(); | 880 | 62 | } | 881 | 62 | } | 882 | | | 883 | 62 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 62 | if (arguments.size() == 1 || | 885 | 62 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 62 | Int16 scale_arg = 0; | 888 | 62 | if (arguments.size() == 2) { | 889 | 62 | RETURN_IF_ERROR( | 890 | 62 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 62 | } | 892 | | | 893 | 62 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 62 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 62 | result_scale); | 896 | 62 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 62 | if (is_col_general_const) { | 899 | 62 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 62 | apply_const_vec( | 901 | 62 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 62 | block.get_by_position(arguments[1]).column.get(), | 903 | 62 | result_scale); | 904 | 62 | } else { | 905 | 62 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 62 | apply_vec_vec(col_general, | 907 | 62 | block.get_by_position(arguments[1]).column.get(), | 908 | 62 | result_scale); | 909 | 62 | } | 910 | 62 | } | 911 | 62 | return true; | 912 | 62 | } | 913 | | | 914 | 62 | return false; | 915 | 62 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 62 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 62 | column_result.column = std::move(res); | 933 | 62 | return Status::OK(); | 934 | 62 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9FloorNameEEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 25 | uint32_t result, size_t input_rows_count) const override { | 845 | 25 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 25 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 25 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 25 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 25 | const auto* col_general = is_col_general_const | 850 | 25 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 9 | .get_data_column_ptr() | 852 | 9 | .get() | 853 | 25 | : column_general.column.get(); | 854 | 25 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 25 | auto call = [&](const auto& types) -> bool { | 863 | 25 | using Types = std::decay_t<decltype(types)>; | 864 | 25 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 25 | Int16 result_scale = 0; | 869 | 25 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 25 | if (column_result.type->is_nullable()) { | 871 | 25 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 25 | column_result.type)) { | 873 | 25 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 25 | } else { | 875 | 25 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 25 | "Illegal nullable column"); | 877 | 25 | } | 878 | 25 | } else { | 879 | 25 | result_scale = column_result.type->get_scale(); | 880 | 25 | } | 881 | 25 | } | 882 | | | 883 | 25 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 25 | if (arguments.size() == 1 || | 885 | 25 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 25 | Int16 scale_arg = 0; | 888 | 25 | if (arguments.size() == 2) { | 889 | 25 | RETURN_IF_ERROR( | 890 | 25 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 25 | } | 892 | | | 893 | 25 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 25 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 25 | result_scale); | 896 | 25 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 25 | if (is_col_general_const) { | 899 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 25 | apply_const_vec( | 901 | 25 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 25 | block.get_by_position(arguments[1]).column.get(), | 903 | 25 | result_scale); | 904 | 25 | } else { | 905 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 25 | apply_vec_vec(col_general, | 907 | 25 | block.get_by_position(arguments[1]).column.get(), | 908 | 25 | result_scale); | 909 | 25 | } | 910 | 25 | } | 911 | 25 | return true; | 912 | 25 | } | 913 | | | 914 | 25 | return false; | 915 | 25 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 25 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 25 | column_result.column = std::move(res); | 933 | 25 | return Status::OK(); | 934 | 25 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_9RoundNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 489 | uint32_t result, size_t input_rows_count) const override { | 845 | 489 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 489 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 489 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 489 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 489 | const auto* col_general = is_col_general_const | 850 | 489 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 11 | .get_data_column_ptr() | 852 | 11 | .get() | 853 | 489 | : column_general.column.get(); | 854 | 489 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 489 | auto call = [&](const auto& types) -> bool { | 863 | 489 | using Types = std::decay_t<decltype(types)>; | 864 | 489 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 489 | Int16 result_scale = 0; | 869 | 489 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 489 | if (column_result.type->is_nullable()) { | 871 | 489 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 489 | column_result.type)) { | 873 | 489 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 489 | } else { | 875 | 489 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 489 | "Illegal nullable column"); | 877 | 489 | } | 878 | 489 | } else { | 879 | 489 | result_scale = column_result.type->get_scale(); | 880 | 489 | } | 881 | 489 | } | 882 | | | 883 | 489 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 489 | if (arguments.size() == 1 || | 885 | 489 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 489 | Int16 scale_arg = 0; | 888 | 489 | if (arguments.size() == 2) { | 889 | 489 | RETURN_IF_ERROR( | 890 | 489 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 489 | } | 892 | | | 893 | 489 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 489 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 489 | result_scale); | 896 | 489 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 489 | if (is_col_general_const) { | 899 | 489 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 489 | apply_const_vec( | 901 | 489 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 489 | block.get_by_position(arguments[1]).column.get(), | 903 | 489 | result_scale); | 904 | 489 | } else { | 905 | 489 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 489 | apply_vec_vec(col_general, | 907 | 489 | block.get_by_position(arguments[1]).column.get(), | 908 | 489 | result_scale); | 909 | 489 | } | 910 | 489 | } | 911 | 489 | return true; | 912 | 489 | } | 913 | | | 914 | 489 | return false; | 915 | 489 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 489 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 489 | column_result.column = std::move(res); | 933 | 489 | return Status::OK(); | 934 | 489 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_8CeilNameEEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 28 | uint32_t result, size_t input_rows_count) const override { | 845 | 28 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 28 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 28 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 28 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 28 | const auto* col_general = is_col_general_const | 850 | 28 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 9 | .get_data_column_ptr() | 852 | 9 | .get() | 853 | 28 | : column_general.column.get(); | 854 | 28 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 28 | auto call = [&](const auto& types) -> bool { | 863 | 28 | using Types = std::decay_t<decltype(types)>; | 864 | 28 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 28 | Int16 result_scale = 0; | 869 | 28 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 28 | if (column_result.type->is_nullable()) { | 871 | 28 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 28 | column_result.type)) { | 873 | 28 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 28 | } else { | 875 | 28 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 28 | "Illegal nullable column"); | 877 | 28 | } | 878 | 28 | } else { | 879 | 28 | result_scale = column_result.type->get_scale(); | 880 | 28 | } | 881 | 28 | } | 882 | | | 883 | 28 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 28 | if (arguments.size() == 1 || | 885 | 28 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 28 | Int16 scale_arg = 0; | 888 | 28 | if (arguments.size() == 2) { | 889 | 28 | RETURN_IF_ERROR( | 890 | 28 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 28 | } | 892 | | | 893 | 28 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 28 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 28 | result_scale); | 896 | 28 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 28 | if (is_col_general_const) { | 899 | 28 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 28 | apply_const_vec( | 901 | 28 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 28 | block.get_by_position(arguments[1]).column.get(), | 903 | 28 | result_scale); | 904 | 28 | } else { | 905 | 28 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 28 | apply_vec_vec(col_general, | 907 | 28 | block.get_by_position(arguments[1]).column.get(), | 908 | 28 | result_scale); | 909 | 28 | } | 910 | 28 | } | 911 | 28 | return true; | 912 | 28 | } | 913 | | | 914 | 28 | return false; | 915 | 28 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 28 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 28 | column_result.column = std::move(res); | 933 | 28 | return Status::OK(); | 934 | 28 | } |
_ZNK5doris16FunctionRoundingINS_18DoubleRoundTwoImplINS_16RoundBankersNameEEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 34 | uint32_t result, size_t input_rows_count) const override { | 845 | 34 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 34 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 34 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 34 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 34 | const auto* col_general = is_col_general_const | 850 | 34 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 11 | .get_data_column_ptr() | 852 | 11 | .get() | 853 | 34 | : column_general.column.get(); | 854 | 34 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 34 | auto call = [&](const auto& types) -> bool { | 863 | 34 | using Types = std::decay_t<decltype(types)>; | 864 | 34 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 34 | Int16 result_scale = 0; | 869 | 34 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 34 | if (column_result.type->is_nullable()) { | 871 | 34 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 34 | column_result.type)) { | 873 | 34 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 34 | } else { | 875 | 34 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 34 | "Illegal nullable column"); | 877 | 34 | } | 878 | 34 | } else { | 879 | 34 | result_scale = column_result.type->get_scale(); | 880 | 34 | } | 881 | 34 | } | 882 | | | 883 | 34 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 34 | if (arguments.size() == 1 || | 885 | 34 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 34 | Int16 scale_arg = 0; | 888 | 34 | if (arguments.size() == 2) { | 889 | 34 | RETURN_IF_ERROR( | 890 | 34 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 34 | } | 892 | | | 893 | 34 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 34 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 34 | result_scale); | 896 | 34 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 34 | if (is_col_general_const) { | 899 | 34 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 34 | apply_const_vec( | 901 | 34 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 34 | block.get_by_position(arguments[1]).column.get(), | 903 | 34 | result_scale); | 904 | 34 | } else { | 905 | 34 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 34 | apply_vec_vec(col_general, | 907 | 34 | block.get_by_position(arguments[1]).column.get(), | 908 | 34 | result_scale); | 909 | 34 | } | 910 | 34 | } | 911 | 34 | return true; | 912 | 34 | } | 913 | | | 914 | 34 | return false; | 915 | 34 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 34 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 34 | column_result.column = std::move(res); | 933 | 34 | return Status::OK(); | 934 | 34 | } |
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 17 | uint32_t result, size_t input_rows_count) const override { | 845 | 17 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 17 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 17 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 17 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 17 | const auto* col_general = is_col_general_const | 850 | 17 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 17 | : column_general.column.get(); | 854 | 17 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 17 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 17 | column_result.type)) { | 873 | 17 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 17 | } else { | 875 | 17 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 17 | "Illegal nullable column"); | 877 | 17 | } | 878 | 17 | } else { | 879 | 17 | result_scale = column_result.type->get_scale(); | 880 | 17 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 17 | RETURN_IF_ERROR( | 890 | 17 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 17 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 17 | if (is_col_general_const) { | 899 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 17 | apply_const_vec( | 901 | 17 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 17 | block.get_by_position(arguments[1]).column.get(), | 903 | 17 | result_scale); | 904 | 17 | } else { | 905 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 17 | apply_vec_vec(col_general, | 907 | 17 | block.get_by_position(arguments[1]).column.get(), | 908 | 17 | result_scale); | 909 | 17 | } | 910 | 17 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 17 | return false; | 915 | 17 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 17 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 17 | column_result.column = std::move(res); | 933 | 17 | return Status::OK(); | 934 | 17 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 17 | uint32_t result, size_t input_rows_count) const override { | 845 | 17 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 17 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 17 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 17 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 17 | const auto* col_general = is_col_general_const | 850 | 17 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 17 | : column_general.column.get(); | 854 | 17 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 17 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 17 | column_result.type)) { | 873 | 17 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 17 | } else { | 875 | 17 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 17 | "Illegal nullable column"); | 877 | 17 | } | 878 | 17 | } else { | 879 | 17 | result_scale = column_result.type->get_scale(); | 880 | 17 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 17 | RETURN_IF_ERROR( | 890 | 17 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 17 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 17 | if (is_col_general_const) { | 899 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 17 | apply_const_vec( | 901 | 17 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 17 | block.get_by_position(arguments[1]).column.get(), | 903 | 17 | result_scale); | 904 | 17 | } else { | 905 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 17 | apply_vec_vec(col_general, | 907 | 17 | block.get_by_position(arguments[1]).column.get(), | 908 | 17 | result_scale); | 909 | 17 | } | 910 | 17 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 17 | return false; | 915 | 17 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 17 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 17 | column_result.column = std::move(res); | 933 | 17 | return Status::OK(); | 934 | 17 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 17 | uint32_t result, size_t input_rows_count) const override { | 845 | 17 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 17 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 17 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 17 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 17 | const auto* col_general = is_col_general_const | 850 | 17 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 17 | : column_general.column.get(); | 854 | 17 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 17 | auto call = [&](const auto& types) -> bool { | 863 | 17 | using Types = std::decay_t<decltype(types)>; | 864 | 17 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 17 | Int16 result_scale = 0; | 869 | 17 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 17 | if (column_result.type->is_nullable()) { | 871 | 17 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 17 | column_result.type)) { | 873 | 17 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 17 | } else { | 875 | 17 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 17 | "Illegal nullable column"); | 877 | 17 | } | 878 | 17 | } else { | 879 | 17 | result_scale = column_result.type->get_scale(); | 880 | 17 | } | 881 | 17 | } | 882 | | | 883 | 17 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 17 | if (arguments.size() == 1 || | 885 | 17 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 17 | Int16 scale_arg = 0; | 888 | 17 | if (arguments.size() == 2) { | 889 | 17 | RETURN_IF_ERROR( | 890 | 17 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 17 | } | 892 | | | 893 | 17 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 17 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 17 | result_scale); | 896 | 17 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 17 | if (is_col_general_const) { | 899 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 17 | apply_const_vec( | 901 | 17 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 17 | block.get_by_position(arguments[1]).column.get(), | 903 | 17 | result_scale); | 904 | 17 | } else { | 905 | 17 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 17 | apply_vec_vec(col_general, | 907 | 17 | block.get_by_position(arguments[1]).column.get(), | 908 | 17 | result_scale); | 909 | 17 | } | 910 | 17 | } | 911 | 17 | return true; | 912 | 17 | } | 913 | | | 914 | 17 | return false; | 915 | 17 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 17 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 17 | column_result.column = std::move(res); | 933 | 17 | return Status::OK(); | 934 | 17 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 19 | uint32_t result, size_t input_rows_count) const override { | 845 | 19 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 19 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 19 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 19 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 19 | const auto* col_general = is_col_general_const | 850 | 19 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 19 | : column_general.column.get(); | 854 | 19 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 19 | auto call = [&](const auto& types) -> bool { | 863 | 19 | using Types = std::decay_t<decltype(types)>; | 864 | 19 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 19 | Int16 result_scale = 0; | 869 | 19 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 19 | if (column_result.type->is_nullable()) { | 871 | 19 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 19 | column_result.type)) { | 873 | 19 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 19 | } else { | 875 | 19 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 19 | "Illegal nullable column"); | 877 | 19 | } | 878 | 19 | } else { | 879 | 19 | result_scale = column_result.type->get_scale(); | 880 | 19 | } | 881 | 19 | } | 882 | | | 883 | 19 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 19 | if (arguments.size() == 1 || | 885 | 19 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 19 | Int16 scale_arg = 0; | 888 | 19 | if (arguments.size() == 2) { | 889 | 19 | RETURN_IF_ERROR( | 890 | 19 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 19 | } | 892 | | | 893 | 19 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 19 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 19 | result_scale); | 896 | 19 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 19 | if (is_col_general_const) { | 899 | 19 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 19 | apply_const_vec( | 901 | 19 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 19 | block.get_by_position(arguments[1]).column.get(), | 903 | 19 | result_scale); | 904 | 19 | } else { | 905 | 19 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 19 | apply_vec_vec(col_general, | 907 | 19 | block.get_by_position(arguments[1]).column.get(), | 908 | 19 | result_scale); | 909 | 19 | } | 910 | 19 | } | 911 | 19 | return true; | 912 | 19 | } | 913 | | | 914 | 19 | return false; | 915 | 19 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 19 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 19 | column_result.column = std::move(res); | 933 | 19 | return Status::OK(); | 934 | 19 | } |
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 216 | uint32_t result, size_t input_rows_count) const override { | 845 | 216 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 216 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 216 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 216 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 216 | const auto* col_general = is_col_general_const | 850 | 216 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 216 | : column_general.column.get(); | 854 | 216 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 216 | auto call = [&](const auto& types) -> bool { | 863 | 216 | using Types = std::decay_t<decltype(types)>; | 864 | 216 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 216 | Int16 result_scale = 0; | 869 | 216 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 216 | if (column_result.type->is_nullable()) { | 871 | 216 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 216 | column_result.type)) { | 873 | 216 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 216 | } else { | 875 | 216 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 216 | "Illegal nullable column"); | 877 | 216 | } | 878 | 216 | } else { | 879 | 216 | result_scale = column_result.type->get_scale(); | 880 | 216 | } | 881 | 216 | } | 882 | | | 883 | 216 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 216 | if (arguments.size() == 1 || | 885 | 216 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 216 | Int16 scale_arg = 0; | 888 | 216 | if (arguments.size() == 2) { | 889 | 216 | RETURN_IF_ERROR( | 890 | 216 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 216 | } | 892 | | | 893 | 216 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 216 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 216 | result_scale); | 896 | 216 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 216 | if (is_col_general_const) { | 899 | 216 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 216 | apply_const_vec( | 901 | 216 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 216 | block.get_by_position(arguments[1]).column.get(), | 903 | 216 | result_scale); | 904 | 216 | } else { | 905 | 216 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 216 | apply_vec_vec(col_general, | 907 | 216 | block.get_by_position(arguments[1]).column.get(), | 908 | 216 | result_scale); | 909 | 216 | } | 910 | 216 | } | 911 | 216 | return true; | 912 | 216 | } | 913 | | | 914 | 216 | return false; | 915 | 216 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 216 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 216 | column_result.column = std::move(res); | 933 | 216 | return Status::OK(); | 934 | 216 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 23 | uint32_t result, size_t input_rows_count) const override { | 845 | 23 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 23 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 23 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 23 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 23 | const auto* col_general = is_col_general_const | 850 | 23 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 23 | : column_general.column.get(); | 854 | 23 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 23 | auto call = [&](const auto& types) -> bool { | 863 | 23 | using Types = std::decay_t<decltype(types)>; | 864 | 23 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 23 | Int16 result_scale = 0; | 869 | 23 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 23 | if (column_result.type->is_nullable()) { | 871 | 23 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 23 | column_result.type)) { | 873 | 23 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 23 | } else { | 875 | 23 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 23 | "Illegal nullable column"); | 877 | 23 | } | 878 | 23 | } else { | 879 | 23 | result_scale = column_result.type->get_scale(); | 880 | 23 | } | 881 | 23 | } | 882 | | | 883 | 23 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 23 | if (arguments.size() == 1 || | 885 | 23 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 23 | Int16 scale_arg = 0; | 888 | 23 | if (arguments.size() == 2) { | 889 | 23 | RETURN_IF_ERROR( | 890 | 23 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 23 | } | 892 | | | 893 | 23 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 23 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 23 | result_scale); | 896 | 23 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 23 | if (is_col_general_const) { | 899 | 23 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 23 | apply_const_vec( | 901 | 23 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 23 | block.get_by_position(arguments[1]).column.get(), | 903 | 23 | result_scale); | 904 | 23 | } else { | 905 | 23 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 23 | apply_vec_vec(col_general, | 907 | 23 | block.get_by_position(arguments[1]).column.get(), | 908 | 23 | result_scale); | 909 | 23 | } | 910 | 23 | } | 911 | 23 | return true; | 912 | 23 | } | 913 | | | 914 | 23 | return false; | 915 | 23 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 23 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 23 | column_result.column = std::move(res); | 933 | 23 | return Status::OK(); | 934 | 23 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 19 | uint32_t result, size_t input_rows_count) const override { | 845 | 19 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 19 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 19 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 19 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 19 | const auto* col_general = is_col_general_const | 850 | 19 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 19 | : column_general.column.get(); | 854 | 19 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 19 | auto call = [&](const auto& types) -> bool { | 863 | 19 | using Types = std::decay_t<decltype(types)>; | 864 | 19 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 19 | Int16 result_scale = 0; | 869 | 19 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 19 | if (column_result.type->is_nullable()) { | 871 | 19 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 19 | column_result.type)) { | 873 | 19 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 19 | } else { | 875 | 19 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 19 | "Illegal nullable column"); | 877 | 19 | } | 878 | 19 | } else { | 879 | 19 | result_scale = column_result.type->get_scale(); | 880 | 19 | } | 881 | 19 | } | 882 | | | 883 | 19 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 19 | if (arguments.size() == 1 || | 885 | 19 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 19 | Int16 scale_arg = 0; | 888 | 19 | if (arguments.size() == 2) { | 889 | 19 | RETURN_IF_ERROR( | 890 | 19 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 19 | } | 892 | | | 893 | 19 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 19 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 19 | result_scale); | 896 | 19 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 19 | if (is_col_general_const) { | 899 | 19 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 19 | apply_const_vec( | 901 | 19 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 19 | block.get_by_position(arguments[1]).column.get(), | 903 | 19 | result_scale); | 904 | 19 | } else { | 905 | 19 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 19 | apply_vec_vec(col_general, | 907 | 19 | block.get_by_position(arguments[1]).column.get(), | 908 | 19 | result_scale); | 909 | 19 | } | 910 | 19 | } | 911 | 19 | return true; | 912 | 19 | } | 913 | | | 914 | 19 | return false; | 915 | 19 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 19 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 19 | column_result.column = std::move(res); | 933 | 19 | return Status::OK(); | 934 | 19 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 79 | uint32_t result, size_t input_rows_count) const override { | 845 | 79 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 79 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 79 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 79 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 79 | const auto* col_general = is_col_general_const | 850 | 79 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 79 | : column_general.column.get(); | 854 | 79 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 79 | auto call = [&](const auto& types) -> bool { | 863 | 79 | using Types = std::decay_t<decltype(types)>; | 864 | 79 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 79 | Int16 result_scale = 0; | 869 | 79 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 79 | if (column_result.type->is_nullable()) { | 871 | 79 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 79 | column_result.type)) { | 873 | 79 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 79 | } else { | 875 | 79 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 79 | "Illegal nullable column"); | 877 | 79 | } | 878 | 79 | } else { | 879 | 79 | result_scale = column_result.type->get_scale(); | 880 | 79 | } | 881 | 79 | } | 882 | | | 883 | 79 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 79 | if (arguments.size() == 1 || | 885 | 79 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 79 | Int16 scale_arg = 0; | 888 | 79 | if (arguments.size() == 2) { | 889 | 79 | RETURN_IF_ERROR( | 890 | 79 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 79 | } | 892 | | | 893 | 79 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 79 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 79 | result_scale); | 896 | 79 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 79 | if (is_col_general_const) { | 899 | 79 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 79 | apply_const_vec( | 901 | 79 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 79 | block.get_by_position(arguments[1]).column.get(), | 903 | 79 | result_scale); | 904 | 79 | } else { | 905 | 79 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 79 | apply_vec_vec(col_general, | 907 | 79 | block.get_by_position(arguments[1]).column.get(), | 908 | 79 | result_scale); | 909 | 79 | } | 910 | 79 | } | 911 | 79 | return true; | 912 | 79 | } | 913 | | | 914 | 79 | return false; | 915 | 79 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 79 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 79 | column_result.column = std::move(res); | 933 | 79 | return Status::OK(); | 934 | 79 | } |
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm _ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 25 | uint32_t result, size_t input_rows_count) const override { | 845 | 25 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 25 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 25 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 25 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 25 | const auto* col_general = is_col_general_const | 850 | 25 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 25 | : column_general.column.get(); | 854 | 25 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 25 | auto call = [&](const auto& types) -> bool { | 863 | 25 | using Types = std::decay_t<decltype(types)>; | 864 | 25 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 25 | Int16 result_scale = 0; | 869 | 25 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 25 | if (column_result.type->is_nullable()) { | 871 | 25 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 25 | column_result.type)) { | 873 | 25 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 25 | } else { | 875 | 25 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 25 | "Illegal nullable column"); | 877 | 25 | } | 878 | 25 | } else { | 879 | 25 | result_scale = column_result.type->get_scale(); | 880 | 25 | } | 881 | 25 | } | 882 | | | 883 | 25 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 25 | if (arguments.size() == 1 || | 885 | 25 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 25 | Int16 scale_arg = 0; | 888 | 25 | if (arguments.size() == 2) { | 889 | 25 | RETURN_IF_ERROR( | 890 | 25 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 25 | } | 892 | | | 893 | 25 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 25 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 25 | result_scale); | 896 | 25 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 25 | if (is_col_general_const) { | 899 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 25 | apply_const_vec( | 901 | 25 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 25 | block.get_by_position(arguments[1]).column.get(), | 903 | 25 | result_scale); | 904 | 25 | } else { | 905 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 25 | apply_vec_vec(col_general, | 907 | 25 | block.get_by_position(arguments[1]).column.get(), | 908 | 25 | result_scale); | 909 | 25 | } | 910 | 25 | } | 911 | 25 | return true; | 912 | 25 | } | 913 | | | 914 | 25 | return false; | 915 | 25 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 25 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 25 | column_result.column = std::move(res); | 933 | 25 | return Status::OK(); | 934 | 25 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 761 | uint32_t result, size_t input_rows_count) const override { | 845 | 761 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 761 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 761 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 761 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 761 | const auto* col_general = is_col_general_const | 850 | 761 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 761 | : column_general.column.get(); | 854 | 761 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 761 | auto call = [&](const auto& types) -> bool { | 863 | 761 | using Types = std::decay_t<decltype(types)>; | 864 | 761 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 761 | Int16 result_scale = 0; | 869 | 761 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 761 | if (column_result.type->is_nullable()) { | 871 | 761 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 761 | column_result.type)) { | 873 | 761 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 761 | } else { | 875 | 761 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 761 | "Illegal nullable column"); | 877 | 761 | } | 878 | 761 | } else { | 879 | 761 | result_scale = column_result.type->get_scale(); | 880 | 761 | } | 881 | 761 | } | 882 | | | 883 | 761 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 761 | if (arguments.size() == 1 || | 885 | 761 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 761 | Int16 scale_arg = 0; | 888 | 761 | if (arguments.size() == 2) { | 889 | 761 | RETURN_IF_ERROR( | 890 | 761 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 761 | } | 892 | | | 893 | 761 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 761 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 761 | result_scale); | 896 | 761 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 761 | if (is_col_general_const) { | 899 | 761 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 761 | apply_const_vec( | 901 | 761 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 761 | block.get_by_position(arguments[1]).column.get(), | 903 | 761 | result_scale); | 904 | 761 | } else { | 905 | 761 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 761 | apply_vec_vec(col_general, | 907 | 761 | block.get_by_position(arguments[1]).column.get(), | 908 | 761 | result_scale); | 909 | 761 | } | 910 | 761 | } | 911 | 761 | return true; | 912 | 761 | } | 913 | | | 914 | 761 | return false; | 915 | 761 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 761 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 761 | column_result.column = std::move(res); | 933 | 761 | return Status::OK(); | 934 | 761 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 31 | uint32_t result, size_t input_rows_count) const override { | 845 | 31 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 31 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 31 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 31 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 31 | const auto* col_general = is_col_general_const | 850 | 31 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 31 | : column_general.column.get(); | 854 | 31 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 31 | auto call = [&](const auto& types) -> bool { | 863 | 31 | using Types = std::decay_t<decltype(types)>; | 864 | 31 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 31 | Int16 result_scale = 0; | 869 | 31 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 31 | if (column_result.type->is_nullable()) { | 871 | 31 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 31 | column_result.type)) { | 873 | 31 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 31 | } else { | 875 | 31 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 31 | "Illegal nullable column"); | 877 | 31 | } | 878 | 31 | } else { | 879 | 31 | result_scale = column_result.type->get_scale(); | 880 | 31 | } | 881 | 31 | } | 882 | | | 883 | 31 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 31 | if (arguments.size() == 1 || | 885 | 31 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 31 | Int16 scale_arg = 0; | 888 | 31 | if (arguments.size() == 2) { | 889 | 31 | RETURN_IF_ERROR( | 890 | 31 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 31 | } | 892 | | | 893 | 31 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 31 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 31 | result_scale); | 896 | 31 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 31 | if (is_col_general_const) { | 899 | 31 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 31 | apply_const_vec( | 901 | 31 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 31 | block.get_by_position(arguments[1]).column.get(), | 903 | 31 | result_scale); | 904 | 31 | } else { | 905 | 31 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 31 | apply_vec_vec(col_general, | 907 | 31 | block.get_by_position(arguments[1]).column.get(), | 908 | 31 | result_scale); | 909 | 31 | } | 910 | 31 | } | 911 | 31 | return true; | 912 | 31 | } | 913 | | | 914 | 31 | return false; | 915 | 31 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 31 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 31 | column_result.column = std::move(res); | 933 | 31 | return Status::OK(); | 934 | 31 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 9 | uint32_t result, size_t input_rows_count) const override { | 845 | 9 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 9 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 9 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 9 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 9 | const auto* col_general = is_col_general_const | 850 | 9 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 9 | : column_general.column.get(); | 854 | 9 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 9 | auto call = [&](const auto& types) -> bool { | 863 | 9 | using Types = std::decay_t<decltype(types)>; | 864 | 9 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 9 | Int16 result_scale = 0; | 869 | 9 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 9 | if (column_result.type->is_nullable()) { | 871 | 9 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 9 | column_result.type)) { | 873 | 9 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 9 | } else { | 875 | 9 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 9 | "Illegal nullable column"); | 877 | 9 | } | 878 | 9 | } else { | 879 | 9 | result_scale = column_result.type->get_scale(); | 880 | 9 | } | 881 | 9 | } | 882 | | | 883 | 9 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 9 | if (arguments.size() == 1 || | 885 | 9 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 9 | Int16 scale_arg = 0; | 888 | 9 | if (arguments.size() == 2) { | 889 | 9 | RETURN_IF_ERROR( | 890 | 9 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 9 | } | 892 | | | 893 | 9 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 9 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 9 | result_scale); | 896 | 9 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 9 | if (is_col_general_const) { | 899 | 9 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 9 | apply_const_vec( | 901 | 9 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 9 | block.get_by_position(arguments[1]).column.get(), | 903 | 9 | result_scale); | 904 | 9 | } else { | 905 | 9 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 9 | apply_vec_vec(col_general, | 907 | 9 | block.get_by_position(arguments[1]).column.get(), | 908 | 9 | result_scale); | 909 | 9 | } | 910 | 9 | } | 911 | 9 | return true; | 912 | 9 | } | 913 | | | 914 | 9 | return false; | 915 | 9 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 9 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 9 | column_result.column = std::move(res); | 933 | 9 | return Status::OK(); | 934 | 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 | 844 | 66 | uint32_t result, size_t input_rows_count) const override { | 845 | 66 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 66 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 66 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 66 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 66 | const auto* col_general = is_col_general_const | 850 | 66 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 15 | .get_data_column_ptr() | 852 | 15 | .get() | 853 | 66 | : column_general.column.get(); | 854 | 66 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 66 | auto call = [&](const auto& types) -> bool { | 863 | 66 | using Types = std::decay_t<decltype(types)>; | 864 | 66 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 66 | Int16 result_scale = 0; | 869 | 66 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 66 | if (column_result.type->is_nullable()) { | 871 | 66 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 66 | column_result.type)) { | 873 | 66 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 66 | } else { | 875 | 66 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 66 | "Illegal nullable column"); | 877 | 66 | } | 878 | 66 | } else { | 879 | 66 | result_scale = column_result.type->get_scale(); | 880 | 66 | } | 881 | 66 | } | 882 | | | 883 | 66 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 66 | if (arguments.size() == 1 || | 885 | 66 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 66 | Int16 scale_arg = 0; | 888 | 66 | if (arguments.size() == 2) { | 889 | 66 | RETURN_IF_ERROR( | 890 | 66 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 66 | } | 892 | | | 893 | 66 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 66 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 66 | result_scale); | 896 | 66 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 66 | if (is_col_general_const) { | 899 | 66 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 66 | apply_const_vec( | 901 | 66 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 66 | block.get_by_position(arguments[1]).column.get(), | 903 | 66 | result_scale); | 904 | 66 | } else { | 905 | 66 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 66 | apply_vec_vec(col_general, | 907 | 66 | block.get_by_position(arguments[1]).column.get(), | 908 | 66 | result_scale); | 909 | 66 | } | 910 | 66 | } | 911 | 66 | return true; | 912 | 66 | } | 913 | | | 914 | 66 | return false; | 915 | 66 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 66 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 66 | column_result.column = std::move(res); | 933 | 66 | return Status::OK(); | 934 | 66 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 56 | uint32_t result, size_t input_rows_count) const override { | 845 | 56 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 56 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 56 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 56 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 56 | const auto* col_general = is_col_general_const | 850 | 56 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 15 | .get_data_column_ptr() | 852 | 15 | .get() | 853 | 56 | : column_general.column.get(); | 854 | 56 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 56 | auto call = [&](const auto& types) -> bool { | 863 | 56 | using Types = std::decay_t<decltype(types)>; | 864 | 56 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 56 | Int16 result_scale = 0; | 869 | 56 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 56 | if (column_result.type->is_nullable()) { | 871 | 56 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 56 | column_result.type)) { | 873 | 56 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 56 | } else { | 875 | 56 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 56 | "Illegal nullable column"); | 877 | 56 | } | 878 | 56 | } else { | 879 | 56 | result_scale = column_result.type->get_scale(); | 880 | 56 | } | 881 | 56 | } | 882 | | | 883 | 56 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 56 | if (arguments.size() == 1 || | 885 | 56 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 56 | Int16 scale_arg = 0; | 888 | 56 | if (arguments.size() == 2) { | 889 | 56 | RETURN_IF_ERROR( | 890 | 56 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 56 | } | 892 | | | 893 | 56 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 56 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 56 | result_scale); | 896 | 56 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 56 | if (is_col_general_const) { | 899 | 56 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 56 | apply_const_vec( | 901 | 56 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 56 | block.get_by_position(arguments[1]).column.get(), | 903 | 56 | result_scale); | 904 | 56 | } else { | 905 | 56 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 56 | apply_vec_vec(col_general, | 907 | 56 | block.get_by_position(arguments[1]).column.get(), | 908 | 56 | result_scale); | 909 | 56 | } | 910 | 56 | } | 911 | 56 | return true; | 912 | 56 | } | 913 | | | 914 | 56 | return false; | 915 | 56 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 56 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 56 | column_result.column = std::move(res); | 933 | 56 | return Status::OK(); | 934 | 56 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 59 | uint32_t result, size_t input_rows_count) const override { | 845 | 59 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 59 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 59 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 59 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 59 | const auto* col_general = is_col_general_const | 850 | 59 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 16 | .get_data_column_ptr() | 852 | 16 | .get() | 853 | 59 | : column_general.column.get(); | 854 | 59 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 59 | auto call = [&](const auto& types) -> bool { | 863 | 59 | using Types = std::decay_t<decltype(types)>; | 864 | 59 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 59 | Int16 result_scale = 0; | 869 | 59 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 59 | if (column_result.type->is_nullable()) { | 871 | 59 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 59 | column_result.type)) { | 873 | 59 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 59 | } else { | 875 | 59 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 59 | "Illegal nullable column"); | 877 | 59 | } | 878 | 59 | } else { | 879 | 59 | result_scale = column_result.type->get_scale(); | 880 | 59 | } | 881 | 59 | } | 882 | | | 883 | 59 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 59 | if (arguments.size() == 1 || | 885 | 59 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 59 | Int16 scale_arg = 0; | 888 | 59 | if (arguments.size() == 2) { | 889 | 59 | RETURN_IF_ERROR( | 890 | 59 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 59 | } | 892 | | | 893 | 59 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 59 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 59 | result_scale); | 896 | 59 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 59 | if (is_col_general_const) { | 899 | 59 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 59 | apply_const_vec( | 901 | 59 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 59 | block.get_by_position(arguments[1]).column.get(), | 903 | 59 | result_scale); | 904 | 59 | } else { | 905 | 59 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 59 | apply_vec_vec(col_general, | 907 | 59 | block.get_by_position(arguments[1]).column.get(), | 908 | 59 | result_scale); | 909 | 59 | } | 910 | 59 | } | 911 | 59 | return true; | 912 | 59 | } | 913 | | | 914 | 59 | return false; | 915 | 59 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 59 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 59 | column_result.column = std::move(res); | 933 | 59 | return Status::OK(); | 934 | 59 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 56 | uint32_t result, size_t input_rows_count) const override { | 845 | 56 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 56 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 56 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 56 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 56 | const auto* col_general = is_col_general_const | 850 | 56 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 15 | .get_data_column_ptr() | 852 | 15 | .get() | 853 | 56 | : column_general.column.get(); | 854 | 56 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 56 | auto call = [&](const auto& types) -> bool { | 863 | 56 | using Types = std::decay_t<decltype(types)>; | 864 | 56 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 56 | Int16 result_scale = 0; | 869 | 56 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 56 | if (column_result.type->is_nullable()) { | 871 | 56 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 56 | column_result.type)) { | 873 | 56 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 56 | } else { | 875 | 56 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 56 | "Illegal nullable column"); | 877 | 56 | } | 878 | 56 | } else { | 879 | 56 | result_scale = column_result.type->get_scale(); | 880 | 56 | } | 881 | 56 | } | 882 | | | 883 | 56 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 56 | if (arguments.size() == 1 || | 885 | 56 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 56 | Int16 scale_arg = 0; | 888 | 56 | if (arguments.size() == 2) { | 889 | 56 | RETURN_IF_ERROR( | 890 | 56 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 56 | } | 892 | | | 893 | 56 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 56 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 56 | result_scale); | 896 | 56 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 56 | if (is_col_general_const) { | 899 | 56 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 56 | apply_const_vec( | 901 | 56 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 56 | block.get_by_position(arguments[1]).column.get(), | 903 | 56 | result_scale); | 904 | 56 | } else { | 905 | 56 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 56 | apply_vec_vec(col_general, | 907 | 56 | block.get_by_position(arguments[1]).column.get(), | 908 | 56 | result_scale); | 909 | 56 | } | 910 | 56 | } | 911 | 56 | return true; | 912 | 56 | } | 913 | | | 914 | 56 | return false; | 915 | 56 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 56 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 56 | column_result.column = std::move(res); | 933 | 56 | return Status::OK(); | 934 | 56 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 52 | uint32_t result, size_t input_rows_count) const override { | 845 | 52 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 52 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 52 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 52 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 52 | const auto* col_general = is_col_general_const | 850 | 52 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 15 | .get_data_column_ptr() | 852 | 15 | .get() | 853 | 52 | : column_general.column.get(); | 854 | 52 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 52 | auto call = [&](const auto& types) -> bool { | 863 | 52 | using Types = std::decay_t<decltype(types)>; | 864 | 52 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 52 | Int16 result_scale = 0; | 869 | 52 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 52 | if (column_result.type->is_nullable()) { | 871 | 52 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 52 | column_result.type)) { | 873 | 52 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 52 | } else { | 875 | 52 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 52 | "Illegal nullable column"); | 877 | 52 | } | 878 | 52 | } else { | 879 | 52 | result_scale = column_result.type->get_scale(); | 880 | 52 | } | 881 | 52 | } | 882 | | | 883 | 52 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 52 | if (arguments.size() == 1 || | 885 | 52 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 52 | Int16 scale_arg = 0; | 888 | 52 | if (arguments.size() == 2) { | 889 | 52 | RETURN_IF_ERROR( | 890 | 52 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 52 | } | 892 | | | 893 | 52 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 52 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 52 | result_scale); | 896 | 52 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 52 | if (is_col_general_const) { | 899 | 52 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 52 | apply_const_vec( | 901 | 52 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 52 | block.get_by_position(arguments[1]).column.get(), | 903 | 52 | result_scale); | 904 | 52 | } else { | 905 | 52 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 52 | apply_vec_vec(col_general, | 907 | 52 | block.get_by_position(arguments[1]).column.get(), | 908 | 52 | result_scale); | 909 | 52 | } | 910 | 52 | } | 911 | 52 | return true; | 912 | 52 | } | 913 | | | 914 | 52 | return false; | 915 | 52 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 52 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 52 | column_result.column = std::move(res); | 933 | 52 | return Status::OK(); | 934 | 52 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 48 | uint32_t result, size_t input_rows_count) const override { | 845 | 48 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 48 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 48 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 48 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 48 | const auto* col_general = is_col_general_const | 850 | 48 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 14 | .get_data_column_ptr() | 852 | 14 | .get() | 853 | 48 | : column_general.column.get(); | 854 | 48 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 48 | auto call = [&](const auto& types) -> bool { | 863 | 48 | using Types = std::decay_t<decltype(types)>; | 864 | 48 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 48 | Int16 result_scale = 0; | 869 | 48 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 48 | if (column_result.type->is_nullable()) { | 871 | 48 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 48 | column_result.type)) { | 873 | 48 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 48 | } else { | 875 | 48 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 48 | "Illegal nullable column"); | 877 | 48 | } | 878 | 48 | } else { | 879 | 48 | result_scale = column_result.type->get_scale(); | 880 | 48 | } | 881 | 48 | } | 882 | | | 883 | 48 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 48 | if (arguments.size() == 1 || | 885 | 48 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 48 | Int16 scale_arg = 0; | 888 | 48 | if (arguments.size() == 2) { | 889 | 48 | RETURN_IF_ERROR( | 890 | 48 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 48 | } | 892 | | | 893 | 48 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 48 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 48 | result_scale); | 896 | 48 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 48 | if (is_col_general_const) { | 899 | 48 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 48 | apply_const_vec( | 901 | 48 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 48 | block.get_by_position(arguments[1]).column.get(), | 903 | 48 | result_scale); | 904 | 48 | } else { | 905 | 48 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 48 | apply_vec_vec(col_general, | 907 | 48 | block.get_by_position(arguments[1]).column.get(), | 908 | 48 | result_scale); | 909 | 48 | } | 910 | 48 | } | 911 | 48 | return true; | 912 | 48 | } | 913 | | | 914 | 48 | return false; | 915 | 48 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 48 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 48 | column_result.column = std::move(res); | 933 | 48 | return Status::OK(); | 934 | 48 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 42 | uint32_t result, size_t input_rows_count) const override { | 845 | 42 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 42 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 42 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 42 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 42 | const auto* col_general = is_col_general_const | 850 | 42 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 7 | .get_data_column_ptr() | 852 | 7 | .get() | 853 | 42 | : column_general.column.get(); | 854 | 42 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 42 | auto call = [&](const auto& types) -> bool { | 863 | 42 | using Types = std::decay_t<decltype(types)>; | 864 | 42 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 42 | Int16 result_scale = 0; | 869 | 42 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 42 | if (column_result.type->is_nullable()) { | 871 | 42 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 42 | column_result.type)) { | 873 | 42 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 42 | } else { | 875 | 42 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 42 | "Illegal nullable column"); | 877 | 42 | } | 878 | 42 | } else { | 879 | 42 | result_scale = column_result.type->get_scale(); | 880 | 42 | } | 881 | 42 | } | 882 | | | 883 | 42 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 42 | if (arguments.size() == 1 || | 885 | 42 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 42 | Int16 scale_arg = 0; | 888 | 42 | if (arguments.size() == 2) { | 889 | 42 | RETURN_IF_ERROR( | 890 | 42 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 42 | } | 892 | | | 893 | 42 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 42 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 42 | result_scale); | 896 | 42 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 42 | if (is_col_general_const) { | 899 | 42 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 42 | apply_const_vec( | 901 | 42 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 42 | block.get_by_position(arguments[1]).column.get(), | 903 | 42 | result_scale); | 904 | 42 | } else { | 905 | 42 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 42 | apply_vec_vec(col_general, | 907 | 42 | block.get_by_position(arguments[1]).column.get(), | 908 | 42 | result_scale); | 909 | 42 | } | 910 | 42 | } | 911 | 42 | return true; | 912 | 42 | } | 913 | | | 914 | 42 | return false; | 915 | 42 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 42 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 42 | column_result.column = std::move(res); | 933 | 42 | return Status::OK(); | 934 | 42 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 40 | uint32_t result, size_t input_rows_count) const override { | 845 | 40 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 40 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 40 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 40 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 40 | const auto* col_general = is_col_general_const | 850 | 40 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 6 | .get_data_column_ptr() | 852 | 6 | .get() | 853 | 40 | : column_general.column.get(); | 854 | 40 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 40 | auto call = [&](const auto& types) -> bool { | 863 | 40 | using Types = std::decay_t<decltype(types)>; | 864 | 40 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 40 | Int16 result_scale = 0; | 869 | 40 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 40 | if (column_result.type->is_nullable()) { | 871 | 40 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 40 | column_result.type)) { | 873 | 40 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 40 | } else { | 875 | 40 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 40 | "Illegal nullable column"); | 877 | 40 | } | 878 | 40 | } else { | 879 | 40 | result_scale = column_result.type->get_scale(); | 880 | 40 | } | 881 | 40 | } | 882 | | | 883 | 40 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 40 | if (arguments.size() == 1 || | 885 | 40 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 40 | Int16 scale_arg = 0; | 888 | 40 | if (arguments.size() == 2) { | 889 | 40 | RETURN_IF_ERROR( | 890 | 40 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 40 | } | 892 | | | 893 | 40 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 40 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 40 | result_scale); | 896 | 40 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 40 | if (is_col_general_const) { | 899 | 40 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 40 | apply_const_vec( | 901 | 40 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 40 | block.get_by_position(arguments[1]).column.get(), | 903 | 40 | result_scale); | 904 | 40 | } else { | 905 | 40 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 40 | apply_vec_vec(col_general, | 907 | 40 | block.get_by_position(arguments[1]).column.get(), | 908 | 40 | result_scale); | 909 | 40 | } | 910 | 40 | } | 911 | 40 | return true; | 912 | 40 | } | 913 | | | 914 | 40 | return false; | 915 | 40 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 40 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 40 | column_result.column = std::move(res); | 933 | 40 | return Status::OK(); | 934 | 40 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 39 | uint32_t result, size_t input_rows_count) const override { | 845 | 39 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 39 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 39 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 39 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 39 | const auto* col_general = is_col_general_const | 850 | 39 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 6 | .get_data_column_ptr() | 852 | 6 | .get() | 853 | 39 | : column_general.column.get(); | 854 | 39 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 39 | auto call = [&](const auto& types) -> bool { | 863 | 39 | using Types = std::decay_t<decltype(types)>; | 864 | 39 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 39 | Int16 result_scale = 0; | 869 | 39 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 39 | if (column_result.type->is_nullable()) { | 871 | 39 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 39 | column_result.type)) { | 873 | 39 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 39 | } else { | 875 | 39 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 39 | "Illegal nullable column"); | 877 | 39 | } | 878 | 39 | } else { | 879 | 39 | result_scale = column_result.type->get_scale(); | 880 | 39 | } | 881 | 39 | } | 882 | | | 883 | 39 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 39 | if (arguments.size() == 1 || | 885 | 39 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 39 | Int16 scale_arg = 0; | 888 | 39 | if (arguments.size() == 2) { | 889 | 39 | RETURN_IF_ERROR( | 890 | 39 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 39 | } | 892 | | | 893 | 39 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 39 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 39 | result_scale); | 896 | 39 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 39 | if (is_col_general_const) { | 899 | 39 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 39 | apply_const_vec( | 901 | 39 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 39 | block.get_by_position(arguments[1]).column.get(), | 903 | 39 | result_scale); | 904 | 39 | } else { | 905 | 39 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 39 | apply_vec_vec(col_general, | 907 | 39 | block.get_by_position(arguments[1]).column.get(), | 908 | 39 | result_scale); | 909 | 39 | } | 910 | 39 | } | 911 | 39 | return true; | 912 | 39 | } | 913 | | | 914 | 39 | return false; | 915 | 39 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 39 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 39 | column_result.column = std::move(res); | 933 | 39 | return Status::OK(); | 934 | 39 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 32 | uint32_t result, size_t input_rows_count) const override { | 845 | 32 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 32 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 32 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 32 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 32 | const auto* col_general = is_col_general_const | 850 | 32 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 6 | .get_data_column_ptr() | 852 | 6 | .get() | 853 | 32 | : column_general.column.get(); | 854 | 32 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 32 | auto call = [&](const auto& types) -> bool { | 863 | 32 | using Types = std::decay_t<decltype(types)>; | 864 | 32 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 32 | Int16 result_scale = 0; | 869 | 32 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 32 | if (column_result.type->is_nullable()) { | 871 | 32 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 32 | column_result.type)) { | 873 | 32 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 32 | } else { | 875 | 32 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 32 | "Illegal nullable column"); | 877 | 32 | } | 878 | 32 | } else { | 879 | 32 | result_scale = column_result.type->get_scale(); | 880 | 32 | } | 881 | 32 | } | 882 | | | 883 | 32 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 32 | if (arguments.size() == 1 || | 885 | 32 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 32 | Int16 scale_arg = 0; | 888 | 32 | if (arguments.size() == 2) { | 889 | 32 | RETURN_IF_ERROR( | 890 | 32 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 32 | } | 892 | | | 893 | 32 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 32 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 32 | result_scale); | 896 | 32 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 32 | if (is_col_general_const) { | 899 | 32 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 32 | apply_const_vec( | 901 | 32 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 32 | block.get_by_position(arguments[1]).column.get(), | 903 | 32 | result_scale); | 904 | 32 | } else { | 905 | 32 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 32 | apply_vec_vec(col_general, | 907 | 32 | block.get_by_position(arguments[1]).column.get(), | 908 | 32 | result_scale); | 909 | 32 | } | 910 | 32 | } | 911 | 32 | return true; | 912 | 32 | } | 913 | | | 914 | 32 | return false; | 915 | 32 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 32 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 32 | column_result.column = std::move(res); | 933 | 32 | return Status::OK(); | 934 | 32 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 18 | uint32_t result, size_t input_rows_count) const override { | 845 | 18 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 18 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 18 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 18 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 18 | const auto* col_general = is_col_general_const | 850 | 18 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 18 | : column_general.column.get(); | 854 | 18 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 18 | auto call = [&](const auto& types) -> bool { | 863 | 18 | using Types = std::decay_t<decltype(types)>; | 864 | 18 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 18 | Int16 result_scale = 0; | 869 | 18 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 18 | if (column_result.type->is_nullable()) { | 871 | 18 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 18 | column_result.type)) { | 873 | 18 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 18 | } else { | 875 | 18 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 18 | "Illegal nullable column"); | 877 | 18 | } | 878 | 18 | } else { | 879 | 18 | result_scale = column_result.type->get_scale(); | 880 | 18 | } | 881 | 18 | } | 882 | | | 883 | 18 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 18 | if (arguments.size() == 1 || | 885 | 18 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 18 | Int16 scale_arg = 0; | 888 | 18 | if (arguments.size() == 2) { | 889 | 18 | RETURN_IF_ERROR( | 890 | 18 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 18 | } | 892 | | | 893 | 18 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 18 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 18 | result_scale); | 896 | 18 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 18 | if (is_col_general_const) { | 899 | 18 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 18 | apply_const_vec( | 901 | 18 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 18 | block.get_by_position(arguments[1]).column.get(), | 903 | 18 | result_scale); | 904 | 18 | } else { | 905 | 18 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 18 | apply_vec_vec(col_general, | 907 | 18 | block.get_by_position(arguments[1]).column.get(), | 908 | 18 | result_scale); | 909 | 18 | } | 910 | 18 | } | 911 | 18 | return true; | 912 | 18 | } | 913 | | | 914 | 18 | return false; | 915 | 18 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 18 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 18 | column_result.column = std::move(res); | 933 | 18 | return Status::OK(); | 934 | 18 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 27 | uint32_t result, size_t input_rows_count) const override { | 845 | 27 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 27 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 27 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 27 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 27 | const auto* col_general = is_col_general_const | 850 | 27 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 27 | : column_general.column.get(); | 854 | 27 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 27 | auto call = [&](const auto& types) -> bool { | 863 | 27 | using Types = std::decay_t<decltype(types)>; | 864 | 27 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 27 | Int16 result_scale = 0; | 869 | 27 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 27 | if (column_result.type->is_nullable()) { | 871 | 27 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 27 | column_result.type)) { | 873 | 27 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 27 | } else { | 875 | 27 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 27 | "Illegal nullable column"); | 877 | 27 | } | 878 | 27 | } else { | 879 | 27 | result_scale = column_result.type->get_scale(); | 880 | 27 | } | 881 | 27 | } | 882 | | | 883 | 27 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 27 | if (arguments.size() == 1 || | 885 | 27 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 27 | Int16 scale_arg = 0; | 888 | 27 | if (arguments.size() == 2) { | 889 | 27 | RETURN_IF_ERROR( | 890 | 27 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 27 | } | 892 | | | 893 | 27 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 27 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 27 | result_scale); | 896 | 27 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 27 | if (is_col_general_const) { | 899 | 27 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 27 | apply_const_vec( | 901 | 27 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 27 | block.get_by_position(arguments[1]).column.get(), | 903 | 27 | result_scale); | 904 | 27 | } else { | 905 | 27 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 27 | apply_vec_vec(col_general, | 907 | 27 | block.get_by_position(arguments[1]).column.get(), | 908 | 27 | result_scale); | 909 | 27 | } | 910 | 27 | } | 911 | 27 | return true; | 912 | 27 | } | 913 | | | 914 | 27 | return false; | 915 | 27 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 27 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 27 | column_result.column = std::move(res); | 933 | 27 | return Status::OK(); | 934 | 27 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 181 | uint32_t result, size_t input_rows_count) const override { | 845 | 181 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 181 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 181 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 181 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 181 | const auto* col_general = is_col_general_const | 850 | 181 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 181 | : column_general.column.get(); | 854 | 181 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 181 | auto call = [&](const auto& types) -> bool { | 863 | 181 | using Types = std::decay_t<decltype(types)>; | 864 | 181 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 181 | Int16 result_scale = 0; | 869 | 181 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 181 | if (column_result.type->is_nullable()) { | 871 | 181 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 181 | column_result.type)) { | 873 | 181 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 181 | } else { | 875 | 181 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 181 | "Illegal nullable column"); | 877 | 181 | } | 878 | 181 | } else { | 879 | 181 | result_scale = column_result.type->get_scale(); | 880 | 181 | } | 881 | 181 | } | 882 | | | 883 | 181 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 181 | if (arguments.size() == 1 || | 885 | 181 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 181 | Int16 scale_arg = 0; | 888 | 181 | if (arguments.size() == 2) { | 889 | 181 | RETURN_IF_ERROR( | 890 | 181 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 181 | } | 892 | | | 893 | 181 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 181 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 181 | result_scale); | 896 | 181 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 181 | if (is_col_general_const) { | 899 | 181 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 181 | apply_const_vec( | 901 | 181 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 181 | block.get_by_position(arguments[1]).column.get(), | 903 | 181 | result_scale); | 904 | 181 | } else { | 905 | 181 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 181 | apply_vec_vec(col_general, | 907 | 181 | block.get_by_position(arguments[1]).column.get(), | 908 | 181 | result_scale); | 909 | 181 | } | 910 | 181 | } | 911 | 181 | return true; | 912 | 181 | } | 913 | | | 914 | 181 | return false; | 915 | 181 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 181 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 181 | column_result.column = std::move(res); | 933 | 181 | return Status::OK(); | 934 | 181 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 25 | uint32_t result, size_t input_rows_count) const override { | 845 | 25 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 25 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 25 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 25 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 25 | const auto* col_general = is_col_general_const | 850 | 25 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 25 | : column_general.column.get(); | 854 | 25 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 25 | auto call = [&](const auto& types) -> bool { | 863 | 25 | using Types = std::decay_t<decltype(types)>; | 864 | 25 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 25 | Int16 result_scale = 0; | 869 | 25 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 25 | if (column_result.type->is_nullable()) { | 871 | 25 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 25 | column_result.type)) { | 873 | 25 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 25 | } else { | 875 | 25 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 25 | "Illegal nullable column"); | 877 | 25 | } | 878 | 25 | } else { | 879 | 25 | result_scale = column_result.type->get_scale(); | 880 | 25 | } | 881 | 25 | } | 882 | | | 883 | 25 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 25 | if (arguments.size() == 1 || | 885 | 25 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 25 | Int16 scale_arg = 0; | 888 | 25 | if (arguments.size() == 2) { | 889 | 25 | RETURN_IF_ERROR( | 890 | 25 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 25 | } | 892 | | | 893 | 25 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 25 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 25 | result_scale); | 896 | 25 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 25 | if (is_col_general_const) { | 899 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 25 | apply_const_vec( | 901 | 25 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 25 | block.get_by_position(arguments[1]).column.get(), | 903 | 25 | result_scale); | 904 | 25 | } else { | 905 | 25 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 25 | apply_vec_vec(col_general, | 907 | 25 | block.get_by_position(arguments[1]).column.get(), | 908 | 25 | result_scale); | 909 | 25 | } | 910 | 25 | } | 911 | 25 | return true; | 912 | 25 | } | 913 | | | 914 | 25 | return false; | 915 | 25 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 25 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 25 | column_result.column = std::move(res); | 933 | 25 | return Status::OK(); | 934 | 25 | } |
_ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 20 | uint32_t result, size_t input_rows_count) const override { | 845 | 20 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 20 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 20 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 20 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 20 | const auto* col_general = is_col_general_const | 850 | 20 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 20 | : column_general.column.get(); | 854 | 20 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 20 | auto call = [&](const auto& types) -> bool { | 863 | 20 | using Types = std::decay_t<decltype(types)>; | 864 | 20 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 20 | Int16 result_scale = 0; | 869 | 20 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 20 | if (column_result.type->is_nullable()) { | 871 | 20 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 20 | column_result.type)) { | 873 | 20 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 20 | } else { | 875 | 20 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 20 | "Illegal nullable column"); | 877 | 20 | } | 878 | 20 | } else { | 879 | 20 | result_scale = column_result.type->get_scale(); | 880 | 20 | } | 881 | 20 | } | 882 | | | 883 | 20 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 20 | if (arguments.size() == 1 || | 885 | 20 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 20 | Int16 scale_arg = 0; | 888 | 20 | if (arguments.size() == 2) { | 889 | 20 | RETURN_IF_ERROR( | 890 | 20 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 20 | } | 892 | | | 893 | 20 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 20 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 20 | result_scale); | 896 | 20 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 20 | if (is_col_general_const) { | 899 | 20 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 20 | apply_const_vec( | 901 | 20 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 20 | block.get_by_position(arguments[1]).column.get(), | 903 | 20 | result_scale); | 904 | 20 | } else { | 905 | 20 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 20 | apply_vec_vec(col_general, | 907 | 20 | block.get_by_position(arguments[1]).column.get(), | 908 | 20 | result_scale); | 909 | 20 | } | 910 | 20 | } | 911 | 20 | return true; | 912 | 20 | } | 913 | | | 914 | 20 | return false; | 915 | 20 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 20 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 20 | column_result.column = std::move(res); | 933 | 20 | return Status::OK(); | 934 | 20 | } |
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE11ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE9ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Line | Count | Source | 844 | 14 | uint32_t result, size_t input_rows_count) const override { | 845 | 14 | const ColumnWithTypeAndName& column_general = block.get_by_position(arguments[0]); | 846 | 14 | ColumnWithTypeAndName& column_result = block.get_by_position(result); | 847 | 14 | const DataTypePtr result_type = block.get_by_position(result).type; | 848 | 14 | const bool is_col_general_const = is_column_const(*column_general.column); | 849 | 14 | const auto* col_general = is_col_general_const | 850 | 14 | ? assert_cast<const ColumnConst&>(*column_general.column) | 851 | 0 | .get_data_column_ptr() | 852 | 0 | .get() | 853 | 14 | : column_general.column.get(); | 854 | 14 | ColumnPtr res; | 855 | | | 856 | | /// potential argument types: | 857 | | /// if the SECOND argument is MISSING(would be considered as ZERO const) or CONST, then we have the following type: | 858 | | /// 1. func(Column), func(Column, ColumnConst) | 859 | | /// otherwise, the SECOND arugment is COLUMN, we have another type: | 860 | | /// 2. func(Column, Column), func(ColumnConst, Column) | 861 | | | 862 | 14 | auto call = [&](const auto& types) -> bool { | 863 | 14 | using Types = std::decay_t<decltype(types)>; | 864 | 14 | using DataType = typename Types::LeftType; | 865 | | | 866 | | // For decimal, we will always make sure result Decimal has exactly same precision and scale with | 867 | | // arguments from query plan. | 868 | 14 | Int16 result_scale = 0; | 869 | 14 | if constexpr (IsDataTypeDecimal<DataType>) { | 870 | 14 | if (column_result.type->is_nullable()) { | 871 | 14 | if (auto nullable_type = std::dynamic_pointer_cast<const DataTypeNullable>( | 872 | 14 | column_result.type)) { | 873 | 14 | result_scale = nullable_type->get_nested_type()->get_scale(); | 874 | 14 | } else { | 875 | 14 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 876 | 14 | "Illegal nullable column"); | 877 | 14 | } | 878 | 14 | } else { | 879 | 14 | result_scale = column_result.type->get_scale(); | 880 | 14 | } | 881 | 14 | } | 882 | | | 883 | 14 | if constexpr (IsDataTypeNumber<DataType> || IsDataTypeDecimal<DataType>) { | 884 | 14 | if (arguments.size() == 1 || | 885 | 14 | is_column_const(*block.get_by_position(arguments[1]).column)) { | 886 | | // the SECOND argument is MISSING or CONST | 887 | 14 | Int16 scale_arg = 0; | 888 | 14 | if (arguments.size() == 2) { | 889 | 14 | RETURN_IF_ERROR( | 890 | 14 | get_scale_arg(block.get_by_position(arguments[1]), &scale_arg)); | 891 | 14 | } | 892 | | | 893 | 14 | res = Dispatcher<DataType::PType, rounding_mode, | 894 | 14 | tie_breaking_mode>::apply_vec_const(col_general, scale_arg, | 895 | 14 | result_scale); | 896 | 14 | } else { | 897 | | // the SECOND arugment is COLUMN | 898 | 14 | if (is_col_general_const) { | 899 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 900 | 14 | apply_const_vec( | 901 | 14 | &assert_cast<const ColumnConst&>(*column_general.column), | 902 | 14 | block.get_by_position(arguments[1]).column.get(), | 903 | 14 | result_scale); | 904 | 14 | } else { | 905 | 14 | res = Dispatcher<DataType::PType, rounding_mode, tie_breaking_mode>:: | 906 | 14 | apply_vec_vec(col_general, | 907 | 14 | block.get_by_position(arguments[1]).column.get(), | 908 | 14 | result_scale); | 909 | 14 | } | 910 | 14 | } | 911 | 14 | return true; | 912 | 14 | } | 913 | | | 914 | 14 | return false; | 915 | 14 | }; | 916 | | | 917 | | #if !defined(__SSE4_1__) && !defined(__aarch64__) | 918 | | /// In case of "nearbyint" function is used, we should ensure the expected rounding mode for the Banker's rounding. | 919 | | /// Actually it is by default. But we will set it just in case. | 920 | | if constexpr (rounding_mode == RoundingMode::Round) { | 921 | | if (0 != fesetround(FE_TONEAREST)) { | 922 | | return Status::InvalidArgument("Cannot set floating point rounding mode"); | 923 | | } | 924 | | } | 925 | | #endif | 926 | | | 927 | 14 | if (!call_on_index_and_data_type<void>(column_general.type->get_primitive_type(), call)) { | 928 | 0 | return Status::InvalidArgument("Invalid argument type {} for function {}", | 929 | 0 | column_general.type->get_name(), name); | 930 | 0 | } | 931 | | | 932 | 14 | column_result.column = std::move(res); | 933 | 14 | return Status::OK(); | 934 | 14 | } |
Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE10ELNS_15TieBreakingModeE0EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm Unexecuted instantiation: _ZNK5doris16FunctionRoundingINS_19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EEELNS_12RoundingModeE8ELNS_15TieBreakingModeE1EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm |
935 | | }; |
936 | | |
937 | | struct TruncateName { |
938 | | static constexpr auto name = "truncate"; |
939 | | }; |
940 | | |
941 | | struct FloorName { |
942 | | static constexpr auto name = "floor"; |
943 | | }; |
944 | | |
945 | | struct CeilName { |
946 | | static constexpr auto name = "ceil"; |
947 | | }; |
948 | | |
949 | | struct RoundName { |
950 | | static constexpr auto name = "round"; |
951 | | }; |
952 | | |
953 | | struct RoundBankersName { |
954 | | static constexpr auto name = "round_bankers"; |
955 | | }; |
956 | | |
957 | | /// round(double,int32)-->double |
958 | | /// key_str:roundFloat64Int32 |
959 | | template <typename Name> |
960 | | struct DoubleRoundTwoImpl { |
961 | | static constexpr auto name = Name::name; |
962 | | |
963 | 40 | static DataTypes get_variadic_argument_types() { |
964 | 40 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; |
965 | 40 | } _ZN5doris18DoubleRoundTwoImplINS_12TruncateNameEE27get_variadic_argument_typesEv Line | Count | Source | 963 | 8 | static DataTypes get_variadic_argument_types() { | 964 | 8 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; | 965 | 8 | } |
_ZN5doris18DoubleRoundTwoImplINS_9FloorNameEE27get_variadic_argument_typesEv Line | Count | Source | 963 | 8 | static DataTypes get_variadic_argument_types() { | 964 | 8 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; | 965 | 8 | } |
_ZN5doris18DoubleRoundTwoImplINS_9RoundNameEE27get_variadic_argument_typesEv Line | Count | Source | 963 | 8 | static DataTypes get_variadic_argument_types() { | 964 | 8 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; | 965 | 8 | } |
_ZN5doris18DoubleRoundTwoImplINS_8CeilNameEE27get_variadic_argument_typesEv Line | Count | Source | 963 | 8 | static DataTypes get_variadic_argument_types() { | 964 | 8 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; | 965 | 8 | } |
_ZN5doris18DoubleRoundTwoImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv Line | Count | Source | 963 | 8 | static DataTypes get_variadic_argument_types() { | 964 | 8 | return {std::make_shared<DataTypeFloat64>(), std::make_shared<DataTypeInt32>()}; | 965 | 8 | } |
|
966 | | }; |
967 | | |
968 | | template <typename Name> |
969 | | struct DoubleRoundOneImpl { |
970 | | static constexpr auto name = Name::name; |
971 | | |
972 | 40 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; }_ZN5doris18DoubleRoundOneImplINS_12TruncateNameEE27get_variadic_argument_typesEv Line | Count | Source | 972 | 8 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; } |
_ZN5doris18DoubleRoundOneImplINS_9FloorNameEE27get_variadic_argument_typesEv Line | Count | Source | 972 | 8 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; } |
_ZN5doris18DoubleRoundOneImplINS_9RoundNameEE27get_variadic_argument_typesEv Line | Count | Source | 972 | 8 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; } |
_ZN5doris18DoubleRoundOneImplINS_8CeilNameEE27get_variadic_argument_typesEv Line | Count | Source | 972 | 8 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; } |
_ZN5doris18DoubleRoundOneImplINS_16RoundBankersNameEE27get_variadic_argument_typesEv Line | Count | Source | 972 | 8 | static DataTypes get_variadic_argument_types() { return {std::make_shared<DataTypeFloat64>()}; } |
|
973 | | }; |
974 | | |
975 | | template <typename Name, PrimitiveType Type> |
976 | | struct DecimalRoundTwoImpl { |
977 | | static constexpr auto name = Name::name; |
978 | | |
979 | 160 | static DataTypes get_variadic_argument_types() { |
980 | 160 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), |
981 | 160 | std::make_shared<DataTypeInt32>()}; |
982 | 160 | } _ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
_ZN5doris19DecimalRoundTwoImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 979 | 8 | static DataTypes get_variadic_argument_types() { | 980 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(), | 981 | 8 | std::make_shared<DataTypeInt32>()}; | 982 | 8 | } |
|
983 | | }; |
984 | | |
985 | | template <typename Name, PrimitiveType Type> |
986 | | struct DecimalRoundOneImpl { |
987 | | static constexpr auto name = Name::name; |
988 | | |
989 | 160 | static DataTypes get_variadic_argument_types() { |
990 | 160 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; |
991 | 160 | } _ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE28EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE29EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE30EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_12TruncateNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9FloorNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_9RoundNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_8CeilNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
_ZN5doris19DecimalRoundOneImplINS_16RoundBankersNameELNS_13PrimitiveTypeE35EE27get_variadic_argument_typesEv Line | Count | Source | 989 | 8 | static DataTypes get_variadic_argument_types() { | 990 | 8 | return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()}; | 991 | 8 | } |
|
992 | | }; |
993 | | #include "common/compile_check_avoid_end.h" |
994 | | } // namespace doris |