UISIMD
Parameters
[DType = UNInt; nelts = cfg!(`nsimd_size`) / DType.size]
graph BT
N1["UISIMD[DType; nelts]"] -->|inherits| N2["IntSIMD"];
Characteristics
Quality |
Value |
Inherits |
IntSIMD |
Extends |
N/A |
Decorators |
#extern; |
Is enum |
false |
Is sealed |
false |
Is extern |
true |
Subscript
[s Self, idx Int64] -> DType
Methods
construct
#default
#Gambol.function.alwaysinline
construct (s Self) -> Self
load_masked
#Gambol.function.alwaysinline
#Gambol.function.nounwind
#default
load_masked (s Self, source PointerToVariable[DType], mask @BSIMD[nelts], pass_through Self) -> Nil
store_masked
#Gambol.function.alwaysinline
#Gambol.function.nounwind
#default
store_masked (s Self, destination PointerToVariable[DType], mask @BSIMD[nelts]) -> Nil
load
#Gambol.function.alwaysinline
#Gambol.function.nounwind
load (s Self, source PointerToVariable[DType]) -> Nil
store
#Gambol.function.alwaysinline
#Gambol.function.nounwind
store (s Self, destination PointerToVariable[DType]) -> Nil
trem
#Gambol.function.alwaysinline
#default
trem (s Self, o Self) -> UISIMD[DType, nelts]
tdiv
#Gambol.function.alwaysinline
#default
tdiv (s Self, o Self) -> UISIMD[DType, nelts]
frem
#Gambol.function.alwaysinline
frem (s Self, o Self) -> UISIMD[DType, nelts]
fdiv
#Gambol.function.alwaysinline
fdiv (s Self, o Self) -> UISIMD[DType, nelts]
erem
#Gambol.function.alwaysinline
erem (s Self, o Self) -> UISIMD[DType, nelts]
ediv
#Gambol.function.alwaysinline
ediv (s Self, o Self) -> UISIMD[DType, nelts]
tdivrem
#Gambol.function.alwaysinline
tdivrem (s Self, o Self) -> UISIMD[DType, nelts], UISIMD[DType, nelts]
fdivrem
#Gambol.function.alwaysinline
fdivrem (s Self, o Self) -> UISIMD[DType, nelts], UISIMD[DType, nelts]
edivrem
#Gambol.function.alwaysinline
edivrem (s Self, o Self) -> UISIMD[DType, nelts], UISIMD[DType, nelts]
reverse_bits
#Gambol.function.alwaysinline
#default
reverse_bits (s Self) -> UISIMD[DType, nelts]
swap_bytes
#Gambol.function.alwaysinline
#default
swap_bytes (s Self) -> UISIMD[DType, nelts]
count_ones
#Gambol.function.alwaysinline
#default
count_ones (s Self) -> UISIMD[DType, nelts]
funnel_shift_left
#Gambol.function.alwaysinline
#default
funnel_shift_left (a Self, b Self, c Self) -> UISIMD[DType, nelts]
funnel_shift_right
#Gambol.function.alwaysinline
#default
funnel_shift_right (a Self, b Self, c Self) -> UISIMD[DType, nelts]
count_leading_zeros
#Gambol.function.alwaysinline
#default
count_leading_zeros (s Self) -> UISIMD[DType, nelts]
count_trailing_zeros
#Gambol.function.alwaysinline
#default
count_trailing_zeros (s Self) -> UISIMD[DType, nelts]
reduce_add
#Gambol.function.alwaysinline
#default
reduce_add (s Self) -> DType
reduce_mul
#Gambol.function.alwaysinline
#default
reduce_mul (s Self) -> DType
reduce_and
#Gambol.function.alwaysinline
#default
reduce_and (s Self) -> DType
reduce_or
#Gambol.function.alwaysinline
#default
reduce_or (s Self) -> DType
reduce_xor
#Gambol.function.alwaysinline
#default
reduce_xor (s Self) -> DType
reduce_max
#Gambol.function.alwaysinline
#default
reduce_max (s Self) -> DType
reduce_min
#Gambol.function.alwaysinline
#default
reduce_min (s Self) -> DType
equals
#Gambol.function.alwaysinline
#default
equals (s Self, o Self) -> BSIMD[nelts]
Unary Operators
~
#Gambol.function.alwaysinline
#default
~ (s Self) -> UISIMD[DType, nelts]
Binary Operators
=
#default
= (s Self, o Self) -> Self
==
#Gambol.function.alwaysinline
== (s Self, o Self) -> Bool
<
#Gambol.function.alwaysinline
#default
< (s Self, o Self) -> BSIMD[nelts]
<=
#Gambol.function.alwaysinline
#default
<= (s Self, o Self) -> BSIMD[nelts]
>
#Gambol.function.alwaysinline
#default
> (s Self, o Self) -> BSIMD[nelts]
>=
#Gambol.function.alwaysinline
#default
>= (s Self, o Self) -> BSIMD[nelts]
+
#Gambol.function.alwaysinline
#default
+ (s Self, o Self) -> UISIMD[DType, nelts]
+=
#Gambol.function.alwaysinline
+= (s Self, o Self) -> Self
-
#Gambol.function.alwaysinline
#default
- (s Self, o Self) -> UISIMD[DType, nelts]
-=
#Gambol.function.alwaysinline
-= (s Self, o Self) -> Self
*
#Gambol.function.alwaysinline
#default
* (s Self, o Self) -> UISIMD[DType, nelts]
*=
#Gambol.function.alwaysinline
*= (s Self, o Self) -> Self
%
#Gambol.function.alwaysinline
% (s Self, o Self) -> UISIMD[DType, nelts]
%=
#Gambol.function.alwaysinline
%= (s Self, o Self) -> Self
/
#Gambol.function.alwaysinline
/ (s Self, o Self) -> UISIMD[DType, nelts]
/=
#Gambol.function.alwaysinline
/= (s Self, o Self) -> Self
&
#Gambol.function.alwaysinline
#default
& (s Self, o Self) -> UISIMD[DType, nelts]
&=
#Gambol.function.alwaysinline
&= (s Self, o Self) -> Self
|
#Gambol.function.alwaysinline
#default
| (s Self, o Self) -> UISIMD[DType, nelts]
|=
#Gambol.function.alwaysinline
|= (s Self, o Self) -> Self
^
#Gambol.function.alwaysinline
#default
^ (s Self, o Self) -> UISIMD[DType, nelts]
^=
#Gambol.function.alwaysinline
^= (s Self, o Self) -> Self
>>
#Gambol.function.alwaysinline
#default
>> (s Self, o Self) -> UISIMD[DType, nelts]
>>=
#Gambol.function.alwaysinline
>>= (s Self, o Self) -> Self
>>>
#Gambol.function.alwaysinline
#default
>>> (s Self, o Self) -> UISIMD[DType, nelts]
>>>=
#Gambol.function.alwaysinline
>>>= (s Self, o Self) -> Self
<<
#Gambol.function.alwaysinline
#default
<< (s Self, o Self) -> UISIMD[DType, nelts]
<<=
#Gambol.function.alwaysinline
<<= (s Self, o Self) -> Self
Casts To
- BSIMD[nelts]
- ISIMD[Int8, nelts]
- ISIMD[Int16, nelts]
- ISIMD[Int32, nelts]
- ISIMD[Int64, nelts]
- ISIMD[NInt, nelts]
- UISIMD[UInt8, nelts]
- UISIMD[UInt16, nelts]
- UISIMD[UInt32, nelts]
- UISIMD[UInt64, nelts]
- UISIMD[UNInt, nelts]
- FSIMD[Float32, nelts]
- FSIMD[Float64, nelts]
- FSIMD[NFloat, nelts]