[CodeFormat] Clang-format cpp sources (#4965)

Clang-format all c++ source files.
This commit is contained in:
sduzh
2020-11-28 18:36:49 +08:00
committed by GitHub
parent f944bf4d44
commit 6fedf5881b
1331 changed files with 62548 additions and 68514 deletions

View File

@ -16,100 +16,100 @@
// under the License.
#include "exprs/operators.h"
#include "exprs/anyval_util.h"
#include "runtime/string_value.h"
#include "runtime/datetime_value.h"
#include "util/debug_util.h"
#include <boost/cstdint.hpp>
#include "exprs/anyval_util.h"
#include "runtime/datetime_value.h"
#include "runtime/string_value.h"
#include "util/debug_util.h"
namespace doris {
void Operators::init() {
}
void Operators::init() {}
#define BINARY_OP_FN(NAME, TYPE_NAME, TYPE, OP) \
TYPE Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(\
FunctionContext* c, const TYPE& v1, const TYPE& v2) {\
if (v1.is_null || v2.is_null) return TYPE::null();\
return TYPE(v1.val OP v2.val);\
}
#define BINARY_OP_FN(NAME, TYPE_NAME, TYPE, OP) \
TYPE Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(FunctionContext* c, const TYPE& v1, \
const TYPE& v2) { \
if (v1.is_null || v2.is_null) return TYPE::null(); \
return TYPE(v1.val OP v2.val); \
}
#define BINARY_OP_CHECK_ZERO_FN(NAME, TYPE_NAME, TYPE, OP) \
TYPE Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(\
FunctionContext* c, const TYPE& v1, const TYPE& v2) {\
if (v1.is_null || v2.is_null || v2.val == 0) return TYPE::null();\
return TYPE(v1.val OP v2.val);\
}
#define BINARY_OP_CHECK_ZERO_FN(NAME, TYPE_NAME, TYPE, OP) \
TYPE Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(FunctionContext* c, const TYPE& v1, \
const TYPE& v2) { \
if (v1.is_null || v2.is_null || v2.val == 0) return TYPE::null(); \
return TYPE(v1.val OP v2.val); \
}
#define BITNOT_FN(TYPE, TYPE_NAME)\
TYPE Operators::bitnot_##TYPE_NAME(FunctionContext* c, const TYPE& v) {\
if (v.is_null) return TYPE::null();\
return TYPE(~v.val);\
}
#define BITNOT_FN(TYPE, TYPE_NAME) \
TYPE Operators::bitnot_##TYPE_NAME(FunctionContext* c, const TYPE& v) { \
if (v.is_null) return TYPE::null(); \
return TYPE(~v.val); \
}
// Return infinity if overflow.
#define FACTORIAL_FN(TYPE)\
BigIntVal Operators::Factorial_##TYPE(FunctionContext* c, const TYPE& v) {\
if (v.is_null) return BigIntVal::null();\
int64_t fact = ComputeFactorial(v.val); \
if (fact < 0) { \
return BigIntVal::null(); \
} \
return BigIntVal(fact); \
}
#define BINARY_PREDICATE_NUMERIC_FN(NAME, TYPE_NAME, TYPE, OP) \
BooleanVal Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(\
FunctionContext* c, const TYPE& v1, const TYPE& v2) {\
if (v1.is_null || v2.is_null) return BooleanVal::null();\
return BooleanVal(v1.val OP v2.val);\
#define FACTORIAL_FN(TYPE) \
BigIntVal Operators::Factorial_##TYPE(FunctionContext* c, const TYPE& v) { \
if (v.is_null) return BigIntVal::null(); \
int64_t fact = ComputeFactorial(v.val); \
if (fact < 0) { \
return BigIntVal::null(); \
} \
return BigIntVal(fact); \
}
#define BINARY_PREDICATE_NONNUMERIC_FN(NAME, TYPE_NAME, FUNC_NAME, TYPE, DORIS_TYPE, OP) \
BooleanVal Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(\
FunctionContext* c, const TYPE& v1, const TYPE& v2) {\
if (v1.is_null || v2.is_null) return BooleanVal::null();\
DORIS_TYPE iv1 = DORIS_TYPE::from_##FUNC_NAME(v1);\
DORIS_TYPE iv2 = DORIS_TYPE::from_##FUNC_NAME(v2);\
return BooleanVal(iv1 OP iv2);\
#define BINARY_PREDICATE_NUMERIC_FN(NAME, TYPE_NAME, TYPE, OP) \
BooleanVal Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(FunctionContext* c, const TYPE& v1, \
const TYPE& v2) { \
if (v1.is_null || v2.is_null) return BooleanVal::null(); \
return BooleanVal(v1.val OP v2.val); \
}
#define BINARY_OP_NUMERIC_TYPES(NAME, OP) \
BINARY_OP_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_FN(NAME, small_int_val, SmallIntVal, OP);\
BINARY_OP_FN(NAME, int_val, IntVal, OP);\
BINARY_OP_FN(NAME, big_int_val, BigIntVal, OP);\
BINARY_OP_FN(NAME, large_int_val, LargeIntVal, OP);\
BINARY_OP_FN(NAME, float_val, FloatVal, OP);\
#define BINARY_PREDICATE_NONNUMERIC_FN(NAME, TYPE_NAME, FUNC_NAME, TYPE, DORIS_TYPE, OP) \
BooleanVal Operators::NAME##_##TYPE_NAME##_##TYPE_NAME(FunctionContext* c, const TYPE& v1, \
const TYPE& v2) { \
if (v1.is_null || v2.is_null) return BooleanVal::null(); \
DORIS_TYPE iv1 = DORIS_TYPE::from_##FUNC_NAME(v1); \
DORIS_TYPE iv2 = DORIS_TYPE::from_##FUNC_NAME(v2); \
return BooleanVal(iv1 OP iv2); \
}
#define BINARY_OP_NUMERIC_TYPES(NAME, OP) \
BINARY_OP_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_FN(NAME, small_int_val, SmallIntVal, OP); \
BINARY_OP_FN(NAME, int_val, IntVal, OP); \
BINARY_OP_FN(NAME, big_int_val, BigIntVal, OP); \
BINARY_OP_FN(NAME, large_int_val, LargeIntVal, OP); \
BINARY_OP_FN(NAME, float_val, FloatVal, OP); \
BINARY_OP_FN(NAME, double_val, DoubleVal, OP);
#define BINARY_OP_INT_TYPES(NAME, OP) \
BINARY_OP_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_FN(NAME, small_int_val, SmallIntVal, OP);\
BINARY_OP_FN(NAME, int_val, IntVal, OP);\
BINARY_OP_FN(NAME, big_int_val, BigIntVal, OP);\
BINARY_OP_FN(NAME, large_int_val, LargeIntVal, OP);\
#define BINARY_OP_INT_TYPES(NAME, OP) \
BINARY_OP_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_FN(NAME, small_int_val, SmallIntVal, OP); \
BINARY_OP_FN(NAME, int_val, IntVal, OP); \
BINARY_OP_FN(NAME, big_int_val, BigIntVal, OP); \
BINARY_OP_FN(NAME, large_int_val, LargeIntVal, OP);
#define BINARY_OP_CHECK_ZERO_INT_TYPES(NAME, OP) \
BINARY_OP_CHECK_ZERO_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_CHECK_ZERO_FN(NAME, small_int_val, SmallIntVal, OP);\
BINARY_OP_CHECK_ZERO_FN(NAME, int_val, IntVal, OP);\
BINARY_OP_CHECK_ZERO_FN(NAME, big_int_val, BigIntVal, OP);\
BINARY_OP_CHECK_ZERO_FN(NAME, large_int_val, LargeIntVal, OP);\
#define BINARY_OP_CHECK_ZERO_INT_TYPES(NAME, OP) \
BINARY_OP_CHECK_ZERO_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_OP_CHECK_ZERO_FN(NAME, small_int_val, SmallIntVal, OP); \
BINARY_OP_CHECK_ZERO_FN(NAME, int_val, IntVal, OP); \
BINARY_OP_CHECK_ZERO_FN(NAME, big_int_val, BigIntVal, OP); \
BINARY_OP_CHECK_ZERO_FN(NAME, large_int_val, LargeIntVal, OP);
#define BINARY_PREDICATE_ALL_TYPES(NAME, OP) \
BINARY_PREDICATE_NUMERIC_FN(NAME, boolean_val, BooleanVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, small_int_val, SmallIntVal, OP);\
BINARY_PREDICATE_NUMERIC_FN(NAME, int_val, IntVal, OP);\
BINARY_PREDICATE_NUMERIC_FN(NAME, big_int_val, BigIntVal, OP);\
BINARY_PREDICATE_NUMERIC_FN(NAME, large_int_val, LargeIntVal, OP);\
BINARY_PREDICATE_NUMERIC_FN(NAME, float_val, FloatVal, OP);\
BINARY_PREDICATE_NUMERIC_FN(NAME, double_val, DoubleVal, OP);\
BINARY_PREDICATE_NONNUMERIC_FN(NAME, string_val, string_val, StringVal, StringValue, OP);\
BINARY_PREDICATE_NONNUMERIC_FN(\
NAME, datetime_val, datetime_val, DateTimeVal, DateTimeValue, OP);
#define BINARY_PREDICATE_ALL_TYPES(NAME, OP) \
BINARY_PREDICATE_NUMERIC_FN(NAME, boolean_val, BooleanVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, tiny_int_val, TinyIntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, small_int_val, SmallIntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, int_val, IntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, big_int_val, BigIntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, large_int_val, LargeIntVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, float_val, FloatVal, OP); \
BINARY_PREDICATE_NUMERIC_FN(NAME, double_val, DoubleVal, OP); \
BINARY_PREDICATE_NONNUMERIC_FN(NAME, string_val, string_val, StringVal, StringValue, OP); \
BINARY_PREDICATE_NONNUMERIC_FN(NAME, datetime_val, datetime_val, DateTimeVal, DateTimeValue, \
OP);
BINARY_OP_NUMERIC_TYPES(add, +);
BINARY_OP_NUMERIC_TYPES(subtract, -);
@ -182,4 +182,3 @@ BINARY_PREDICATE_ALL_TYPES(lt, <);
BINARY_PREDICATE_ALL_TYPES(ge, >=);
BINARY_PREDICATE_ALL_TYPES(le, <=);
} // namespace doris