Skip to content

FSIMD

Parameters

[DType = NFloat; nelts = cfg!(`nsimd_size`) / DType.size] 
graph BT
N1["FSIMD[DType; nelts]"] -->|inherits| N2["FloatSIMD"];

Characteristics

Quality Value
Inherits FloatSIMD
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

sign

#Gambol.function.alwaysinline
sign (s Self) -> FSIMD[DType, nelts]

abs

#Gambol.function.alwaysinline
abs (s Self) -> FSIMD[DType, nelts]

trem

#Gambol.function.alwaysinline
#default
trem (s Self, o Self) -> FSIMD[DType, nelts]

frem

#Gambol.function.alwaysinline
frem (s Self, o Self) -> FSIMD[DType, nelts]

erem

#Gambol.function.alwaysinline
erem (s Self, o Self) -> FSIMD[DType, nelts]

sqrt

#Gambol.function.alwaysinline
#default
sqrt (s Self) -> FSIMD[DType, nelts]

sin

#Gambol.function.alwaysinline
#default
sin (s Self) -> FSIMD[DType, nelts]

cos

#Gambol.function.alwaysinline
#default
cos (s Self) -> FSIMD[DType, nelts]

pow

#Gambol.function.alwaysinline
#default
pow (s Self, exp Self) -> FSIMD[DType, nelts]

exp

#Gambol.function.alwaysinline
#default
exp (s Self) -> FSIMD[DType, nelts]

exp2

#Gambol.function.alwaysinline
#default
exp2 (s Self) -> FSIMD[DType, nelts]

exp10

#Gambol.function.alwaysinline
#default
exp10 (s Self) -> FSIMD[DType, nelts]

log

#Gambol.function.alwaysinline
#default
log (s Self) -> FSIMD[DType, nelts]

log2

#Gambol.function.alwaysinline
#default
log2 (s Self) -> FSIMD[DType, nelts]

log10

#Gambol.function.alwaysinline
#default
log10 (s Self) -> FSIMD[DType, nelts]

fma

#Gambol.function.alwaysinline
#default
fma (s Self, other_mul Self, other_add Self) -> FSIMD[DType, nelts]

minnum

#Gambol.function.alwaysinline
#default
minnum (s Self, o Self) -> FSIMD[DType, nelts]

maxnum

#Gambol.function.alwaysinline
#default
maxnum (s Self, o Self) -> FSIMD[DType, nelts]

minimum

#Gambol.function.alwaysinline
#default
minimum (s Self, o Self) -> FSIMD[DType, nelts]

maximum

#Gambol.function.alwaysinline
#default
maximum (s Self, o Self) -> FSIMD[DType, nelts]

copysign

#Gambol.function.alwaysinline
#default
copysign (s Self, o Self) -> FSIMD[DType, nelts]

floor

#Gambol.function.alwaysinline
#default
floor (s Self) -> FSIMD[DType, nelts]

ceil

#Gambol.function.alwaysinline
#default
ceil (s Self) -> FSIMD[DType, nelts]

trunc

#Gambol.function.alwaysinline
#default
trunc (s Self) -> FSIMD[DType, nelts]

round

#Gambol.function.alwaysinline
#default
round (s Self) -> FSIMD[DType, nelts]

roundeven

#Gambol.function.alwaysinline
#default
roundeven (s Self) -> FSIMD[DType, nelts]

reduce_add

#Gambol.function.alwaysinline
#default
reduce_add (s Self, acc DType = 0.0) -> DType

reduce_mul

#Gambol.function.alwaysinline
#default
reduce_mul (s Self, acc DType = 0.0) -> DType

reduce_max

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

reduce_min

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

reduce_maximum

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

reduce_minimum

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

equals

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

Unary Operators

-

#Gambol.function.alwaysinline
#default
- (s Self) -> FSIMD[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) -> FSIMD[DType, nelts]

+=

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

-

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

-=

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

*

#Gambol.function.alwaysinline
#default
* (s Self, o Self) -> FSIMD[DType, nelts]

*=

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

**

** (s Self, o Self) -> FSIMD[DType, nelts]

**=

**= (s Self, o Self) -> Self

%

#Gambol.function.alwaysinline
% (s Self, o Self) -> FSIMD[DType, nelts]

%=

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

/

#Gambol.function.alwaysinline
#default
/ (s Self, o Self) -> FSIMD[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]