simdpp::cmp_le(floating-point)

From libsimdpp-docs
< fp
template<unsigned N, class E1, class E2>
Ret<N, _DETAIL_> cmp_le( Vec1<N,E1> a, Vec2<N,E2> b );

Compares values in two floating-point vectors for less than or equal. The implementation behaves as if the following set of overloads is provided:

Ret Vec1 Vec2
mask_float32 float32 float32
mask_float32 float32 mask_float32
mask_float32 mask_float32 float32
mask_float32 mask_float32 mask_float32
mask_float64 float64 float64
mask_float64 float64 mask_float64
mask_float64 mask_float64 float64
mask_float64 mask_float64 mask_float64

The return type is a vector expression.

Scalar arguments[edit]

Several additional overloads are provided to implement implicit conversions from scalar types. Values of the following types are accepted as the first or the second argument: int32_t, int64_t, uint32_t, uint64_t, float, double. Each element of the expanded vector is set to the source value, converting it using standard conversions if needed.

The return type is a vector expression. The vector type is the same as the vector argument except that masks are unmasked to respective non-mask vector types.

Parameters[edit]

a, b - floating-point vectors

Return value[edit]

A vector expression evaluating to a <= b.

Equivalent operation[edit]

r0 = a0 <= b0 ? 0xff...ff : 0
...
rN = aN <= bN ? 0xff...ff : 0

See also[edit]