1 !sum
2 - go: DotProductPairs
3 commutative: false
4 documentation: !string |-
5 // NAME multiplies the elements and add the pairs together,
6 // yielding a vector of half as many elements with twice the input element size.
7 # TODO: maybe simplify this name within the receiver-type + method-naming scheme we use.
8 - go: DotProductPairsSaturated
9 commutative: false
10 documentation: !string |-
11 // NAME multiplies the elements and add the pairs together with saturation,
12 // yielding a vector of half as many elements with twice the input element size.
13 # - go: DotProductBroadcast
14 # commutative: true
15 # # documentation: !string |-
16 # // NAME multiplies all elements and broadcasts the sum.
17 - go: AddDotProductPairs
18 commutative: false
19 noTypes: "true"
20 noGenericOps: "true"
21 documentation: !string |-
22 // NAME performs dot products on pairs of elements of y and z and then adds x.
23 - go: MulAdd
24 commutative: false
25 - go: MulAddEvenSubOdd
26 commutative: false
27 documentation: !string |-
28 // NAME performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
29 - go: MulAddOddSubEven
30 commutative: false
31 documentation: !string |-
32 // NAME performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
33 - go: SumOf8AbsDiff
34 commutative: false
35 documentation: !string |-
36 // NAME computes the absolute difference of x and y and sums each group of 8 results.
37 // This method could be seen as the norm of the L1 distance of each 8-element group of the two input vectors.
38
View as plain text