mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
enhance: remove duplicate code in ArithHelperF32 in SVE for bitset (#43951)
pr: #43950 Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
This commit is contained in:
parent
bd9fd42310
commit
84b7ec880d
@ -1318,30 +1318,6 @@ struct ArithHelperI64<ArithOpType::Mul, CmpOp> {
|
|||||||
template <ArithOpType AOp, CompareOpType CmpOp>
|
template <ArithOpType AOp, CompareOpType CmpOp>
|
||||||
struct ArithHelperF32 {};
|
struct ArithHelperF32 {};
|
||||||
|
|
||||||
template <CompareOpType CmpOp>
|
|
||||||
struct ArithHelperF32<ArithOpType::Div, CmpOp> {
|
|
||||||
static inline svbool_t
|
|
||||||
op_special(const svbool_t pred,
|
|
||||||
const svfloat32_t left,
|
|
||||||
const svfloat32_t right,
|
|
||||||
const svfloat32_t value) {
|
|
||||||
// this is valid for the positive denominator, == and != cases.
|
|
||||||
// left == right * value
|
|
||||||
return CmpHelper<CmpOp>::compare(
|
|
||||||
pred, left, svmul_f32_z(pred, right, value));
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline svbool_t
|
|
||||||
op(const svbool_t pred,
|
|
||||||
const svfloat32_t left,
|
|
||||||
const svfloat32_t right,
|
|
||||||
const svfloat32_t value) {
|
|
||||||
// left / right == value
|
|
||||||
return CmpHelper<CmpOp>::compare(
|
|
||||||
pred, svdiv_f32_z(pred, left, right), value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template <CompareOpType CmpOp>
|
template <CompareOpType CmpOp>
|
||||||
struct ArithHelperF32<ArithOpType::Add, CmpOp> {
|
struct ArithHelperF32<ArithOpType::Add, CmpOp> {
|
||||||
static inline svbool_t
|
static inline svbool_t
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user