Skip to content

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]