...
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 documentation: !string |-
26 // NAME performs a fused (x * y) + z.
27- go: MulAddSub
28 commutative: false
29 documentation: !string |-
30 // NAME performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
31- go: MulSubAdd
32 commutative: false
33 documentation: !string |-
34 // NAME performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
35- go: SumAbsDiff
36 commutative: false
37 documentation: !string |-
38 // NAME sums the absolute distance of the two input vectors, each adjacent 8 bytes as a group. The output sum will
39 // be a vector of word-sized elements whose each 4*n-th element contains the sum of the n-th input group. The other elements in the result vector are zeroed.
40 // This method could be seen as the norm of the L1 distance of each adjacent 8-byte vector group of the two input vectors.
View as plain text