Skip to content

BSIMD

Parameters

[nelts = cfg!(`nsimd_size`) / Int8.size] 
graph BT
N1["BSIMD[nelts]"] -->|inherits| N2["BoolSIMD"];

Characteristics

Quality Value
Inherits BoolSIMD
Extends N/A
Decorators #extern;
Is enum false
Is sealed false
Is extern true

Type Aliases

DType

DType = Bool

Subscript

[s Self, idx Int64] -> Bool

Methods

construct

#default
#Gambol.function.alwaysinline
construct (s Self) -> Self

load_masked

#Gambol.function.alwaysinline
#default
load_masked (s Self, source PointerToVariable[Bool], mask @BSIMD[nelts], pass_through Self) -> Nil

store_masked

#Gambol.function.alwaysinline
#default
store_masked (s Self, destination PointerToVariable[Bool], mask @BSIMD[nelts]) -> Nil

load

#Gambol.function.alwaysinline
load (s Self, source PointerToVariable[Bool]) -> Nil

store

#Gambol.function.alwaysinline
store (s Self, destination PointerToVariable[Bool]) -> Nil

equals

#Gambol.function.alwaysinline
#default
equals (s Self, o Self) -> BSIMD[nelts]

reduce_and

#Gambol.function.alwaysinline
#default
reduce_and (s Self) -> Bool

reduce_or

#Gambol.function.alwaysinline
#default
reduce_or (s Self) -> Bool

reduce_xor

#Gambol.function.alwaysinline
#default
reduce_xor (s Self) -> Bool

Unary Operators

~

#Gambol.function.alwaysinline
#default
~ (s Self) -> BSIMD[nelts]

Binary Operators

=

#Gambol.function.alwaysinline
#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
&= (s Self, o Self) -> Self

|=

#Gambol.function.alwaysinline
|= (s Self, o Self) -> Self

^=

#Gambol.function.alwaysinline
^= (s Self, o Self) -> Self

Casts To

  • 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]