17 #if defined(HIGHWAY_HWY_CONTRIB_ALGO_FIND_INL_H_) == \
18 defined(HWY_TARGET_TOGGLE)
19 #ifdef HIGHWAY_HWY_CONTRIB_ALGO_FIND_INL_H_
20 #undef HIGHWAY_HWY_CONTRIB_ALGO_FIND_INL_H_
22 #define HIGHWAY_HWY_CONTRIB_ALGO_FIND_INL_H_
33 template <
class D,
typename T = TFromD<D>>
39 for (; i +
N <= count; i +=
N) {
41 if (pos >= 0)
return i +
static_cast<size_t>(pos);
45 #if HWY_MEM_OPS_MIGHT_FAULT
48 using V1 =
Vec<decltype(d1)>;
49 const V1 broadcasted1 =
Set(d1,
GetLane(broadcasted));
50 for (; i < count; ++i) {
56 const size_t remaining = count - i;
62 if (pos >= 0)
return i +
static_cast<size_t>(pos);
71 template <
class D,
class Func,
typename T = TFromD<D>>
76 for (; i +
N <= count; i +=
N) {
78 if (pos >= 0)
return i +
static_cast<size_t>(pos);
82 #if HWY_MEM_OPS_MIGHT_FAULT
85 for (; i < count; ++i) {
91 const size_t remaining = count - i;
97 if (pos >= 0)
return i +
static_cast<size_t>(pos);
#define HWY_RESTRICT
Definition: base.h:61
#define HWY_DASSERT(condition)
Definition: base.h:191
d
Definition: rvv-inl.h:1742
HWY_API bool AllTrue(const Full128< T > d, const Mask128< T > m)
Definition: arm_neon-inl.h:5305
size_t Find(D d, T value, const T *HWY_RESTRICT in, size_t count)
Definition: find-inl.h:34
HWY_API auto Eq(V a, V b) -> decltype(a==b)
Definition: arm_neon-inl.h:6301
HWY_API intptr_t FindFirstTrue(const Simd< T, N, 0 > d, const Mask128< T, N > mask)
Definition: arm_neon-inl.h:5280
HWY_API Mask128< T, N > FirstN(const Simd< T, N, 0 > d, size_t num)
Definition: arm_neon-inl.h:2409
constexpr HWY_API size_t Lanes(Simd< T, N, kPow2 >)
Definition: arm_sve-inl.h:236
typename detail::CappedTagChecker< T, kLimit >::type CappedTag
Definition: ops/shared-inl.h:172
HWY_API Vec128< T, N > MaskedLoad(Mask128< T, N > m, Simd< T, N, 0 > d, const T *HWY_RESTRICT aligned)
Definition: arm_neon-inl.h:2711
svuint16_t Set(Simd< bfloat16_t, N, kPow2 > d, bfloat16_t arg)
Definition: arm_sve-inl.h:312
HWY_API Vec128< uint8_t > LoadU(Full128< uint8_t >, const uint8_t *HWY_RESTRICT unaligned)
Definition: arm_neon-inl.h:2544
HWY_API Vec128< T, N > And(const Vec128< T, N > a, const Vec128< T, N > b)
Definition: arm_neon-inl.h:1934
HWY_API TFromV< V > GetLane(const V v)
Definition: arm_neon-inl.h:1061
decltype(MaskFromVec(Zero(D()))) Mask
Definition: generic_ops-inl.h:38
N
Definition: rvv-inl.h:1742
size_t FindIf(D d, const T *HWY_RESTRICT in, size_t count, const Func &func)
Definition: find-inl.h:72
const vfloat64m1_t v
Definition: rvv-inl.h:1742
decltype(Zero(D())) Vec
Definition: generic_ops-inl.h:32
Definition: aligned_allocator.h:27
FuncOutput(*)(const void *, FuncInput) Func
Definition: nanobenchmark.h:105
#define HWY_NAMESPACE
Definition: set_macros-inl.h:82