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]