5#define NATIVE_BF16_REJECT_BINARY(OP) \
7 friend void operator OP(simd,simd) = delete; \
9 template<class U> requires (!std::same_as<std::remove_cvref_t<U>,simd>) \
10 friend void operator OP(simd,U) = delete; \
12 template<class U> requires (!std::same_as<std::remove_cvref_t<U>,simd>) \
13 friend void operator OP(U,simd) = delete;
14 NATIVE_BF16_REJECT_BINARY(+)
15 NATIVE_BF16_REJECT_BINARY(-)
16 NATIVE_BF16_REJECT_BINARY(*)
17 NATIVE_BF16_REJECT_BINARY(/)
18 NATIVE_BF16_REJECT_BINARY(%)
19 NATIVE_BF16_REJECT_BINARY(&)
20 NATIVE_BF16_REJECT_BINARY(|)
21 NATIVE_BF16_REJECT_BINARY(^)
22 NATIVE_BF16_REJECT_BINARY(<<)
23 NATIVE_BF16_REJECT_BINARY(>>)
24 NATIVE_BF16_REJECT_BINARY(==)
25 NATIVE_BF16_REJECT_BINARY(!=)
26 NATIVE_BF16_REJECT_BINARY(<)
27 NATIVE_BF16_REJECT_BINARY(<=)
28 NATIVE_BF16_REJECT_BINARY(>)
29 NATIVE_BF16_REJECT_BINARY(>=)
30#undef NATIVE_BF16_REJECT_BINARY
32 friend void operator+(simd) =
delete;
34 friend void operator-(simd) =
delete;
36 friend void operator~(simd) =
delete;
38 friend void operator!(simd) =
delete;