Source file src/simd/simd_stubs.go

     1  // Code generated by 'go run -C $GOROOT/src/simd/archsimd/_gen/midway'; DO NOT EDIT.
     2  
     3  //go:build goexperiment.simd && (amd64 || wasm || arm64)
     4  
     5  // Computed intersection of methods for supported SIMD architectures and vector widths
     6  
     7  package simd
     8  
     9  // LoadInt8 loads a slice of int8 into an Int8s vector.
    10  func LoadInt8s([]int8) Int8s
    11  
    12  // LoadInt8Part loads a partial slice of int8 into an Int8s vector, returning the vector and the number of elements loaded.
    13  func LoadInt8sPart([]int8) (Int8s, int)
    14  
    15  // BroadcastInt8 fills the elements of a slice with its argument value.
    16  func BroadcastInt8s(int8) Int8s
    17  
    18  // Abs returns the element-wise absolute value of x.
    19  func (x Int8s) Abs() Int8s
    20  
    21  // Add returns the element-wise sum of x and y.
    22  func (x Int8s) Add(y Int8s) Int8s
    23  
    24  // AddSaturated returns the element-wise saturated sum of x and y.
    25  func (x Int8s) AddSaturated(y Int8s) Int8s
    26  
    27  // And returns the bitwise AND of x and y.
    28  func (x Int8s) And(y Int8s) Int8s
    29  
    30  // AndNot returns the bitwise AND NOT of x and y.
    31  func (x Int8s) AndNot(y Int8s) Int8s
    32  
    33  // ConvertToUint8 converts the vector elements to uint8.
    34  func (x Int8s) ConvertToUint8() Uint8s
    35  
    36  // Equal returns a mask indicating where x and y are equal.
    37  func (x Int8s) Equal(y Int8s) Mask8s
    38  
    39  // Greater returns a mask indicating where x is greater than y.
    40  func (x Int8s) Greater(y Int8s) Mask8s
    41  
    42  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
    43  func (x Int8s) GreaterEqual(y Int8s) Mask8s
    44  
    45  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
    46  func (x Int8s) IfElse(mask Mask8s, y Int8s) Int8s
    47  
    48  // Len returns the number of elements in the vector.
    49  func (x Int8s) Len() int
    50  
    51  // Less returns a mask indicating where x is less than y.
    52  func (x Int8s) Less(y Int8s) Mask8s
    53  
    54  // LessEqual returns a mask indicating where x is less than or equal to y.
    55  func (x Int8s) LessEqual(y Int8s) Mask8s
    56  
    57  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
    58  func (x Int8s) Masked(mask Mask8s) Int8s
    59  
    60  // Max returns the element-wise maximum of x and y.
    61  func (x Int8s) Max(y Int8s) Int8s
    62  
    63  // Min returns the element-wise minimum of x and y.
    64  func (x Int8s) Min(y Int8s) Int8s
    65  
    66  // Mul returns the element-wise product of x and y.
    67  func (x Int8s) Mul(y Int8s) Int8s
    68  
    69  // Neg returns the element-wise negation of x.
    70  func (x Int8s) Neg() Int8s
    71  
    72  // Not returns the bitwise NOT of x.
    73  func (x Int8s) Not() Int8s
    74  
    75  // NotEqual returns a mask indicating where x and y are not equal.
    76  func (x Int8s) NotEqual(y Int8s) Mask8s
    77  
    78  // Or returns the bitwise OR of x and y.
    79  func (x Int8s) Or(y Int8s) Int8s
    80  
    81  // StoreSlice stores the vector elements into the slice s.
    82  func (x Int8s) Store(s []int8)
    83  
    84  // StoreSlicePart stores a partial vector into the slice s.
    85  func (x Int8s) StorePart(s []int8) int
    86  
    87  // String returns a string representation of the vector.
    88  func (x Int8s) String() string
    89  
    90  // Sub returns the element-wise difference of x and y.
    91  func (x Int8s) Sub(y Int8s) Int8s
    92  
    93  // SubSaturated returns the element-wise saturated difference of x and y.
    94  func (x Int8s) SubSaturated(y Int8s) Int8s
    95  
    96  // ToBits reinterprets the vector bits as an unsigned integer vector.
    97  func (x Int8s) ToBits() Uint8s
    98  
    99  // ToMask returns a mask representation of the vector.
   100  func (x Int8s) ToMask() (to Mask8s)
   101  
   102  // Xor returns the bitwise XOR of x and y.
   103  func (x Int8s) Xor(y Int8s) Int8s
   104  
   105  // LoadInt16 loads a slice of int16 into an Int16s vector.
   106  func LoadInt16s([]int16) Int16s
   107  
   108  // LoadInt16Part loads a partial slice of int16 into an Int16s vector, returning the vector and the number of elements loaded.
   109  func LoadInt16sPart([]int16) (Int16s, int)
   110  
   111  // BroadcastInt16 fills the elements of a slice with its argument value.
   112  func BroadcastInt16s(int16) Int16s
   113  
   114  // Abs returns the element-wise absolute value of x.
   115  func (x Int16s) Abs() Int16s
   116  
   117  // Add returns the element-wise sum of x and y.
   118  func (x Int16s) Add(y Int16s) Int16s
   119  
   120  // AddSaturated returns the element-wise saturated sum of x and y.
   121  func (x Int16s) AddSaturated(y Int16s) Int16s
   122  
   123  // And returns the bitwise AND of x and y.
   124  func (x Int16s) And(y Int16s) Int16s
   125  
   126  // AndNot returns the bitwise AND NOT of x and y.
   127  func (x Int16s) AndNot(y Int16s) Int16s
   128  
   129  // ConvertToUint16 converts the vector elements to uint16.
   130  func (x Int16s) ConvertToUint16() Uint16s
   131  
   132  // Equal returns a mask indicating where x and y are equal.
   133  func (x Int16s) Equal(y Int16s) Mask16s
   134  
   135  // Greater returns a mask indicating where x is greater than y.
   136  func (x Int16s) Greater(y Int16s) Mask16s
   137  
   138  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   139  func (x Int16s) GreaterEqual(y Int16s) Mask16s
   140  
   141  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   142  func (x Int16s) IfElse(mask Mask16s, y Int16s) Int16s
   143  
   144  // Len returns the number of elements in the vector.
   145  func (x Int16s) Len() int
   146  
   147  // Less returns a mask indicating where x is less than y.
   148  func (x Int16s) Less(y Int16s) Mask16s
   149  
   150  // LessEqual returns a mask indicating where x is less than or equal to y.
   151  func (x Int16s) LessEqual(y Int16s) Mask16s
   152  
   153  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   154  func (x Int16s) Masked(mask Mask16s) Int16s
   155  
   156  // Max returns the element-wise maximum of x and y.
   157  func (x Int16s) Max(y Int16s) Int16s
   158  
   159  // Min returns the element-wise minimum of x and y.
   160  func (x Int16s) Min(y Int16s) Int16s
   161  
   162  // Mul returns the element-wise product of x and y.
   163  func (x Int16s) Mul(y Int16s) Int16s
   164  
   165  // Neg returns the element-wise negation of x.
   166  func (x Int16s) Neg() Int16s
   167  
   168  // Not returns the bitwise NOT of x.
   169  func (x Int16s) Not() Int16s
   170  
   171  // NotEqual returns a mask indicating where x and y are not equal.
   172  func (x Int16s) NotEqual(y Int16s) Mask16s
   173  
   174  // Or returns the bitwise OR of x and y.
   175  func (x Int16s) Or(y Int16s) Int16s
   176  
   177  // RotatesAllLeft rotates all elements left by y bits.
   178  func (x Int16s) RotateAllLeft(dist uint64) Int16s
   179  
   180  // RotatesAllRight rotates all elements right by y bits.
   181  func (x Int16s) RotateAllRight(dist uint64) Int16s
   182  
   183  // ShiftAllLeft shifts all elements left by y bits.
   184  func (x Int16s) ShiftAllLeft(shift uint64) Int16s
   185  
   186  // ShiftAllRight shifts all elements right by y bits.
   187  func (x Int16s) ShiftAllRight(shift uint64) Int16s
   188  
   189  // StoreSlice stores the vector elements into the slice s.
   190  func (x Int16s) Store(s []int16)
   191  
   192  // StoreSlicePart stores a partial vector into the slice s.
   193  func (x Int16s) StorePart(s []int16) int
   194  
   195  // String returns a string representation of the vector.
   196  func (x Int16s) String() string
   197  
   198  // Sub returns the element-wise difference of x and y.
   199  func (x Int16s) Sub(y Int16s) Int16s
   200  
   201  // SubSaturated returns the element-wise saturated difference of x and y.
   202  func (x Int16s) SubSaturated(y Int16s) Int16s
   203  
   204  // ToBits reinterprets the vector bits as an unsigned integer vector.
   205  func (x Int16s) ToBits() Uint16s
   206  
   207  // ToMask returns a mask representation of the vector.
   208  func (x Int16s) ToMask() (to Mask16s)
   209  
   210  // Xor returns the bitwise XOR of x and y.
   211  func (x Int16s) Xor(y Int16s) Int16s
   212  
   213  // LoadInt32 loads a slice of int32 into an Int32s vector.
   214  func LoadInt32s([]int32) Int32s
   215  
   216  // LoadInt32Part loads a partial slice of int32 into an Int32s vector, returning the vector and the number of elements loaded.
   217  func LoadInt32sPart([]int32) (Int32s, int)
   218  
   219  // BroadcastInt32 fills the elements of a slice with its argument value.
   220  func BroadcastInt32s(int32) Int32s
   221  
   222  // Abs returns the element-wise absolute value of x.
   223  func (x Int32s) Abs() Int32s
   224  
   225  // Add returns the element-wise sum of x and y.
   226  func (x Int32s) Add(y Int32s) Int32s
   227  
   228  // And returns the bitwise AND of x and y.
   229  func (x Int32s) And(y Int32s) Int32s
   230  
   231  // AndNot returns the bitwise AND NOT of x and y.
   232  func (x Int32s) AndNot(y Int32s) Int32s
   233  
   234  // ConvertToFloat32 converts the vector elements to float32.
   235  func (x Int32s) ConvertToFloat32() Float32s
   236  
   237  // ConvertToUint32 converts the vector elements to uint32.
   238  func (x Int32s) ConvertToUint32() Uint32s
   239  
   240  // Equal returns a mask indicating where x and y are equal.
   241  func (x Int32s) Equal(y Int32s) Mask32s
   242  
   243  // Greater returns a mask indicating where x is greater than y.
   244  func (x Int32s) Greater(y Int32s) Mask32s
   245  
   246  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   247  func (x Int32s) GreaterEqual(y Int32s) Mask32s
   248  
   249  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   250  func (x Int32s) IfElse(mask Mask32s, y Int32s) Int32s
   251  
   252  // Len returns the number of elements in the vector.
   253  func (x Int32s) Len() int
   254  
   255  // Less returns a mask indicating where x is less than y.
   256  func (x Int32s) Less(y Int32s) Mask32s
   257  
   258  // LessEqual returns a mask indicating where x is less than or equal to y.
   259  func (x Int32s) LessEqual(y Int32s) Mask32s
   260  
   261  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   262  func (x Int32s) Masked(mask Mask32s) Int32s
   263  
   264  // Max returns the element-wise maximum of x and y.
   265  func (x Int32s) Max(y Int32s) Int32s
   266  
   267  // Min returns the element-wise minimum of x and y.
   268  func (x Int32s) Min(y Int32s) Int32s
   269  
   270  // Mul returns the element-wise product of x and y.
   271  func (x Int32s) Mul(y Int32s) Int32s
   272  
   273  // Neg returns the element-wise negation of x.
   274  func (x Int32s) Neg() Int32s
   275  
   276  // Not returns the bitwise NOT of x.
   277  func (x Int32s) Not() Int32s
   278  
   279  // NotEqual returns a mask indicating where x and y are not equal.
   280  func (x Int32s) NotEqual(y Int32s) Mask32s
   281  
   282  // Or returns the bitwise OR of x and y.
   283  func (x Int32s) Or(y Int32s) Int32s
   284  
   285  // RotatesAllLeft rotates all elements left by y bits.
   286  func (x Int32s) RotateAllLeft(dist uint64) Int32s
   287  
   288  // RotatesAllRight rotates all elements right by y bits.
   289  func (x Int32s) RotateAllRight(dist uint64) Int32s
   290  
   291  // ShiftAllLeft shifts all elements left by y bits.
   292  func (x Int32s) ShiftAllLeft(shift uint64) Int32s
   293  
   294  // ShiftAllRight shifts all elements right by y bits.
   295  func (x Int32s) ShiftAllRight(shift uint64) Int32s
   296  
   297  // StoreSlice stores the vector elements into the slice s.
   298  func (x Int32s) Store(s []int32)
   299  
   300  // StoreSlicePart stores a partial vector into the slice s.
   301  func (x Int32s) StorePart(s []int32) int
   302  
   303  // String returns a string representation of the vector.
   304  func (x Int32s) String() string
   305  
   306  // Sub returns the element-wise difference of x and y.
   307  func (x Int32s) Sub(y Int32s) Int32s
   308  
   309  // ToBits reinterprets the vector bits as an unsigned integer vector.
   310  func (x Int32s) ToBits() Uint32s
   311  
   312  // ToMask returns a mask representation of the vector.
   313  func (x Int32s) ToMask() (to Mask32s)
   314  
   315  // Xor returns the bitwise XOR of x and y.
   316  func (x Int32s) Xor(y Int32s) Int32s
   317  
   318  // LoadInt64 loads a slice of int64 into an Int64s vector.
   319  func LoadInt64s([]int64) Int64s
   320  
   321  // LoadInt64Part loads a partial slice of int64 into an Int64s vector, returning the vector and the number of elements loaded.
   322  func LoadInt64sPart([]int64) (Int64s, int)
   323  
   324  // BroadcastInt64 fills the elements of a slice with its argument value.
   325  func BroadcastInt64s(int64) Int64s
   326  
   327  // Add returns the element-wise sum of x and y.
   328  func (x Int64s) Add(y Int64s) Int64s
   329  
   330  // And returns the bitwise AND of x and y.
   331  func (x Int64s) And(y Int64s) Int64s
   332  
   333  // AndNot returns the bitwise AND NOT of x and y.
   334  func (x Int64s) AndNot(y Int64s) Int64s
   335  
   336  // ConvertToUint64 converts the vector elements to uint64.
   337  func (x Int64s) ConvertToUint64() Uint64s
   338  
   339  // Equal returns a mask indicating where x and y are equal.
   340  func (x Int64s) Equal(y Int64s) Mask64s
   341  
   342  // Greater returns a mask indicating where x is greater than y.
   343  func (x Int64s) Greater(y Int64s) Mask64s
   344  
   345  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   346  func (x Int64s) GreaterEqual(y Int64s) Mask64s
   347  
   348  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   349  func (x Int64s) IfElse(mask Mask64s, y Int64s) Int64s
   350  
   351  // Len returns the number of elements in the vector.
   352  func (x Int64s) Len() int
   353  
   354  // Less returns a mask indicating where x is less than y.
   355  func (x Int64s) Less(y Int64s) Mask64s
   356  
   357  // LessEqual returns a mask indicating where x is less than or equal to y.
   358  func (x Int64s) LessEqual(y Int64s) Mask64s
   359  
   360  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   361  func (x Int64s) Masked(mask Mask64s) Int64s
   362  
   363  // Neg returns the element-wise negation of x.
   364  func (x Int64s) Neg() Int64s
   365  
   366  // Not returns the bitwise NOT of x.
   367  func (x Int64s) Not() Int64s
   368  
   369  // NotEqual returns a mask indicating where x and y are not equal.
   370  func (x Int64s) NotEqual(y Int64s) Mask64s
   371  
   372  // Or returns the bitwise OR of x and y.
   373  func (x Int64s) Or(y Int64s) Int64s
   374  
   375  // RotatesAllLeft rotates all elements left by y bits.
   376  func (x Int64s) RotateAllLeft(dist uint64) Int64s
   377  
   378  // RotatesAllRight rotates all elements right by y bits.
   379  func (x Int64s) RotateAllRight(dist uint64) Int64s
   380  
   381  // ShiftAllLeft shifts all elements left by y bits.
   382  func (x Int64s) ShiftAllLeft(shift uint64) Int64s
   383  
   384  // StoreSlice stores the vector elements into the slice s.
   385  func (x Int64s) Store(s []int64)
   386  
   387  // StoreSlicePart stores a partial vector into the slice s.
   388  func (x Int64s) StorePart(s []int64) int
   389  
   390  // String returns a string representation of the vector.
   391  func (x Int64s) String() string
   392  
   393  // Sub returns the element-wise difference of x and y.
   394  func (x Int64s) Sub(y Int64s) Int64s
   395  
   396  // ToBits reinterprets the vector bits as an unsigned integer vector.
   397  func (x Int64s) ToBits() Uint64s
   398  
   399  // ToMask returns a mask representation of the vector.
   400  func (x Int64s) ToMask() (to Mask64s)
   401  
   402  // Xor returns the bitwise XOR of x and y.
   403  func (x Int64s) Xor(y Int64s) Int64s
   404  
   405  // LoadUint8 loads a slice of uint8 into an Uint8s vector.
   406  func LoadUint8s([]uint8) Uint8s
   407  
   408  // LoadUint8Part loads a partial slice of uint8 into an Uint8s vector, returning the vector and the number of elements loaded.
   409  func LoadUint8sPart([]uint8) (Uint8s, int)
   410  
   411  // BroadcastUint8 fills the elements of a slice with its argument value.
   412  func BroadcastUint8s(uint8) Uint8s
   413  
   414  // Add returns the element-wise sum of x and y.
   415  func (x Uint8s) Add(y Uint8s) Uint8s
   416  
   417  // AddSaturated returns the element-wise saturated sum of x and y.
   418  func (x Uint8s) AddSaturated(y Uint8s) Uint8s
   419  
   420  // And returns the bitwise AND of x and y.
   421  func (x Uint8s) And(y Uint8s) Uint8s
   422  
   423  // AndNot returns the bitwise AND NOT of x and y.
   424  func (x Uint8s) AndNot(y Uint8s) Uint8s
   425  
   426  // Average returns the element-wise average of x and y.
   427  func (x Uint8s) Average(y Uint8s) Uint8s
   428  
   429  // BitsToInt8 reinterprets the vector bits as an Int8s vector.
   430  func (x Uint8s) BitsToInt8() Int8s
   431  
   432  // ConvertToInt8 converts the vector elements to int8.
   433  func (x Uint8s) ConvertToInt8() Int8s
   434  
   435  // Equal returns a mask indicating where x and y are equal.
   436  func (x Uint8s) Equal(y Uint8s) Mask8s
   437  
   438  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   439  func (x Uint8s) IfElse(mask Mask8s, y Uint8s) Uint8s
   440  
   441  // Len returns the number of elements in the vector.
   442  func (x Uint8s) Len() int
   443  
   444  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   445  func (x Uint8s) Masked(mask Mask8s) Uint8s
   446  
   447  // Max returns the element-wise maximum of x and y.
   448  func (x Uint8s) Max(y Uint8s) Uint8s
   449  
   450  // Min returns the element-wise minimum of x and y.
   451  func (x Uint8s) Min(y Uint8s) Uint8s
   452  
   453  // Mul returns the element-wise product of x and y.
   454  func (x Uint8s) Mul(y Uint8s) Uint8s
   455  
   456  // Not returns the bitwise NOT of x.
   457  func (x Uint8s) Not() Uint8s
   458  
   459  // NotEqual returns a mask indicating where x and y are not equal.
   460  func (x Uint8s) NotEqual(y Uint8s) Mask8s
   461  
   462  // Or returns the bitwise OR of x and y.
   463  func (x Uint8s) Or(y Uint8s) Uint8s
   464  
   465  // ReshapeToUint16s reinterprets the vector bits as a Uint16s vector.
   466  func (x Uint8s) ReshapeToUint16s() Uint16s
   467  
   468  // ReshapeToUint32s reinterprets the vector bits as a Uint32s vector.
   469  func (x Uint8s) ReshapeToUint32s() Uint32s
   470  
   471  // ReshapeToUint64s reinterprets the vector bits as a Uint64s vector.
   472  func (x Uint8s) ReshapeToUint64s() Uint64s
   473  
   474  // StoreSlice stores the vector elements into the slice s.
   475  func (x Uint8s) Store(s []uint8)
   476  
   477  // StoreSlicePart stores a partial vector into the slice s.
   478  func (x Uint8s) StorePart(s []uint8) int
   479  
   480  // String returns a string representation of the vector.
   481  func (x Uint8s) String() string
   482  
   483  // Sub returns the element-wise difference of x and y.
   484  func (x Uint8s) Sub(y Uint8s) Uint8s
   485  
   486  // SubSaturated returns the element-wise saturated difference of x and y.
   487  func (x Uint8s) SubSaturated(y Uint8s) Uint8s
   488  
   489  // Xor returns the bitwise XOR of x and y.
   490  func (x Uint8s) Xor(y Uint8s) Uint8s
   491  
   492  // LoadUint16 loads a slice of uint16 into an Uint16s vector.
   493  func LoadUint16s([]uint16) Uint16s
   494  
   495  // LoadUint16Part loads a partial slice of uint16 into an Uint16s vector, returning the vector and the number of elements loaded.
   496  func LoadUint16sPart([]uint16) (Uint16s, int)
   497  
   498  // BroadcastUint16 fills the elements of a slice with its argument value.
   499  func BroadcastUint16s(uint16) Uint16s
   500  
   501  // Add returns the element-wise sum of x and y.
   502  func (x Uint16s) Add(y Uint16s) Uint16s
   503  
   504  // AddSaturated returns the element-wise saturated sum of x and y.
   505  func (x Uint16s) AddSaturated(y Uint16s) Uint16s
   506  
   507  // And returns the bitwise AND of x and y.
   508  func (x Uint16s) And(y Uint16s) Uint16s
   509  
   510  // AndNot returns the bitwise AND NOT of x and y.
   511  func (x Uint16s) AndNot(y Uint16s) Uint16s
   512  
   513  // Average returns the element-wise average of x and y.
   514  func (x Uint16s) Average(y Uint16s) Uint16s
   515  
   516  // BitsToInt16 reinterprets the vector bits as an Int16s vector.
   517  func (x Uint16s) BitsToInt16() Int16s
   518  
   519  // ConvertToInt16 converts the vector elements to int16.
   520  func (x Uint16s) ConvertToInt16() Int16s
   521  
   522  // Equal returns a mask indicating where x and y are equal.
   523  func (x Uint16s) Equal(y Uint16s) Mask16s
   524  
   525  // Greater returns a mask indicating where x is greater than y.
   526  func (x Uint16s) Greater(y Uint16s) Mask16s
   527  
   528  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   529  func (x Uint16s) GreaterEqual(y Uint16s) Mask16s
   530  
   531  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   532  func (x Uint16s) IfElse(mask Mask16s, y Uint16s) Uint16s
   533  
   534  // Len returns the number of elements in the vector.
   535  func (x Uint16s) Len() int
   536  
   537  // Less returns a mask indicating where x is less than y.
   538  func (x Uint16s) Less(y Uint16s) Mask16s
   539  
   540  // LessEqual returns a mask indicating where x is less than or equal to y.
   541  func (x Uint16s) LessEqual(y Uint16s) Mask16s
   542  
   543  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   544  func (x Uint16s) Masked(mask Mask16s) Uint16s
   545  
   546  // Max returns the element-wise maximum of x and y.
   547  func (x Uint16s) Max(y Uint16s) Uint16s
   548  
   549  // Min returns the element-wise minimum of x and y.
   550  func (x Uint16s) Min(y Uint16s) Uint16s
   551  
   552  // Mul returns the element-wise product of x and y.
   553  func (x Uint16s) Mul(y Uint16s) Uint16s
   554  
   555  // Not returns the bitwise NOT of x.
   556  func (x Uint16s) Not() Uint16s
   557  
   558  // NotEqual returns a mask indicating where x and y are not equal.
   559  func (x Uint16s) NotEqual(y Uint16s) Mask16s
   560  
   561  // Or returns the bitwise OR of x and y.
   562  func (x Uint16s) Or(y Uint16s) Uint16s
   563  
   564  // ReshapeToUint32s reinterprets the vector bits as a Uint32s vector.
   565  func (x Uint16s) ReshapeToUint32s() Uint32s
   566  
   567  // ReshapeToUint64s reinterprets the vector bits as a Uint64s vector.
   568  func (x Uint16s) ReshapeToUint64s() Uint64s
   569  
   570  // ReshapeToUint8s reinterprets the vector bits as a Uint8s vector.
   571  func (x Uint16s) ReshapeToUint8s() Uint8s
   572  
   573  // RotatesAllLeft rotates all elements left by y bits.
   574  func (x Uint16s) RotateAllLeft(dist uint64) Uint16s
   575  
   576  // RotatesAllRight rotates all elements right by y bits.
   577  func (x Uint16s) RotateAllRight(dist uint64) Uint16s
   578  
   579  // ShiftAllLeft shifts all elements left by y bits.
   580  func (x Uint16s) ShiftAllLeft(shift uint64) Uint16s
   581  
   582  // ShiftAllRight shifts all elements right by y bits.
   583  func (x Uint16s) ShiftAllRight(shift uint64) Uint16s
   584  
   585  // StoreSlice stores the vector elements into the slice s.
   586  func (x Uint16s) Store(s []uint16)
   587  
   588  // StoreSlicePart stores a partial vector into the slice s.
   589  func (x Uint16s) StorePart(s []uint16) int
   590  
   591  // String returns a string representation of the vector.
   592  func (x Uint16s) String() string
   593  
   594  // Sub returns the element-wise difference of x and y.
   595  func (x Uint16s) Sub(y Uint16s) Uint16s
   596  
   597  // SubSaturated returns the element-wise saturated difference of x and y.
   598  func (x Uint16s) SubSaturated(y Uint16s) Uint16s
   599  
   600  // Xor returns the bitwise XOR of x and y.
   601  func (x Uint16s) Xor(y Uint16s) Uint16s
   602  
   603  // LoadUint32 loads a slice of uint32 into an Uint32s vector.
   604  func LoadUint32s([]uint32) Uint32s
   605  
   606  // LoadUint32Part loads a partial slice of uint32 into an Uint32s vector, returning the vector and the number of elements loaded.
   607  func LoadUint32sPart([]uint32) (Uint32s, int)
   608  
   609  // BroadcastUint32 fills the elements of a slice with its argument value.
   610  func BroadcastUint32s(uint32) Uint32s
   611  
   612  // Add returns the element-wise sum of x and y.
   613  func (x Uint32s) Add(y Uint32s) Uint32s
   614  
   615  // And returns the bitwise AND of x and y.
   616  func (x Uint32s) And(y Uint32s) Uint32s
   617  
   618  // AndNot returns the bitwise AND NOT of x and y.
   619  func (x Uint32s) AndNot(y Uint32s) Uint32s
   620  
   621  // BitsToFloat32 reinterprets the vector bits as a Float32s vector.
   622  func (x Uint32s) BitsToFloat32() Float32s
   623  
   624  // BitsToInt32 reinterprets the vector bits as an Int32s vector.
   625  func (x Uint32s) BitsToInt32() Int32s
   626  
   627  // ConvertToInt32 converts the vector elements to int32.
   628  func (x Uint32s) ConvertToInt32() Int32s
   629  
   630  // Equal returns a mask indicating where x and y are equal.
   631  func (x Uint32s) Equal(y Uint32s) Mask32s
   632  
   633  // Greater returns a mask indicating where x is greater than y.
   634  func (x Uint32s) Greater(y Uint32s) Mask32s
   635  
   636  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   637  func (x Uint32s) GreaterEqual(y Uint32s) Mask32s
   638  
   639  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   640  func (x Uint32s) IfElse(mask Mask32s, y Uint32s) Uint32s
   641  
   642  // Len returns the number of elements in the vector.
   643  func (x Uint32s) Len() int
   644  
   645  // Less returns a mask indicating where x is less than y.
   646  func (x Uint32s) Less(y Uint32s) Mask32s
   647  
   648  // LessEqual returns a mask indicating where x is less than or equal to y.
   649  func (x Uint32s) LessEqual(y Uint32s) Mask32s
   650  
   651  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   652  func (x Uint32s) Masked(mask Mask32s) Uint32s
   653  
   654  // Max returns the element-wise maximum of x and y.
   655  func (x Uint32s) Max(y Uint32s) Uint32s
   656  
   657  // Min returns the element-wise minimum of x and y.
   658  func (x Uint32s) Min(y Uint32s) Uint32s
   659  
   660  // Mul returns the element-wise product of x and y.
   661  func (x Uint32s) Mul(y Uint32s) Uint32s
   662  
   663  // Not returns the bitwise NOT of x.
   664  func (x Uint32s) Not() Uint32s
   665  
   666  // NotEqual returns a mask indicating where x and y are not equal.
   667  func (x Uint32s) NotEqual(y Uint32s) Mask32s
   668  
   669  // Or returns the bitwise OR of x and y.
   670  func (x Uint32s) Or(y Uint32s) Uint32s
   671  
   672  // ReshapeToUint16s reinterprets the vector bits as a Uint16s vector.
   673  func (x Uint32s) ReshapeToUint16s() Uint16s
   674  
   675  // ReshapeToUint64s reinterprets the vector bits as a Uint64s vector.
   676  func (x Uint32s) ReshapeToUint64s() Uint64s
   677  
   678  // ReshapeToUint8s reinterprets the vector bits as a Uint8s vector.
   679  func (x Uint32s) ReshapeToUint8s() Uint8s
   680  
   681  // RotatesAllLeft rotates all elements left by y bits.
   682  func (x Uint32s) RotateAllLeft(dist uint64) Uint32s
   683  
   684  // RotatesAllRight rotates all elements right by y bits.
   685  func (x Uint32s) RotateAllRight(dist uint64) Uint32s
   686  
   687  // ShiftAllLeft shifts all elements left by y bits.
   688  func (x Uint32s) ShiftAllLeft(shift uint64) Uint32s
   689  
   690  // ShiftAllRight shifts all elements right by y bits.
   691  func (x Uint32s) ShiftAllRight(shift uint64) Uint32s
   692  
   693  // StoreSlice stores the vector elements into the slice s.
   694  func (x Uint32s) Store(s []uint32)
   695  
   696  // StoreSlicePart stores a partial vector into the slice s.
   697  func (x Uint32s) StorePart(s []uint32) int
   698  
   699  // String returns a string representation of the vector.
   700  func (x Uint32s) String() string
   701  
   702  // Sub returns the element-wise difference of x and y.
   703  func (x Uint32s) Sub(y Uint32s) Uint32s
   704  
   705  // Xor returns the bitwise XOR of x and y.
   706  func (x Uint32s) Xor(y Uint32s) Uint32s
   707  
   708  // LoadUint64 loads a slice of uint64 into an Uint64s vector.
   709  func LoadUint64s([]uint64) Uint64s
   710  
   711  // LoadUint64Part loads a partial slice of uint64 into an Uint64s vector, returning the vector and the number of elements loaded.
   712  func LoadUint64sPart([]uint64) (Uint64s, int)
   713  
   714  // BroadcastUint64 fills the elements of a slice with its argument value.
   715  func BroadcastUint64s(uint64) Uint64s
   716  
   717  // Add returns the element-wise sum of x and y.
   718  func (x Uint64s) Add(y Uint64s) Uint64s
   719  
   720  // And returns the bitwise AND of x and y.
   721  func (x Uint64s) And(y Uint64s) Uint64s
   722  
   723  // AndNot returns the bitwise AND NOT of x and y.
   724  func (x Uint64s) AndNot(y Uint64s) Uint64s
   725  
   726  // BitsToFloat64 reinterprets the vector bits as a Float64s vector.
   727  func (x Uint64s) BitsToFloat64() Float64s
   728  
   729  // BitsToInt64 reinterprets the vector bits as an Int64s vector.
   730  func (x Uint64s) BitsToInt64() Int64s
   731  
   732  // CarrylessMultiplyOdd computes the carryless
   733  // multiplications of selected even indexed elements of x and y.
   734  // Each product is 128 bits wide and fills the corresponding
   735  // even-odd pairs in the result.
   736  //
   737  // A carryless multiplication uses bitwise XOR instead of
   738  // add-with-carry, for example (in base two):
   739  //
   740  //	11 * 11 = 11 * (10 ^ 1) = (11 * 10) ^ (11 * 1) = 110 ^ 11 = 101
   741  //
   742  // This also models multiplication of polynomials with coefficients
   743  // from GF(2) -- 11 * 11 models (x+1)*(x+1) = x**2 + (1^1)x + 1 =
   744  // x**2 + 0x + 1 = x**2 + 1 modeled by 101.  (Note that "+" adds
   745  // polynomial terms, but coefficients "add" with XOR.)"
   746  func (x Uint64s) CarrylessMultiplyEven(y Uint64s) Uint64s
   747  
   748  // CarrylessMultiplyOdd computes the carryless
   749  // multiplications of selected odd indexed elements of x and y.
   750  // Each product is 128 bits wide and fills the corresponding
   751  // even-odd pairs in the result.
   752  //
   753  // A carryless multiplication uses bitwise XOR instead of
   754  // add-with-carry, for example (in base two):
   755  //
   756  //	11 * 11 = 11 * (10 ^ 1) = (11 * 10) ^ (11 * 1) = 110 ^ 11 = 101
   757  //
   758  // This also models multiplication of polynomials with coefficients
   759  // from GF(2) -- 11 * 11 models (x+1)*(x+1) = x**2 + (1^1)x + 1 =
   760  // x**2 + 0x + 1 = x**2 + 1 modeled by 101.  (Note that "+" adds
   761  // polynomial terms, but coefficients "add" with XOR.)"
   762  func (x Uint64s) CarrylessMultiplyOdd(y Uint64s) Uint64s
   763  
   764  // ConvertToInt64 converts the vector elements to int64.
   765  func (x Uint64s) ConvertToInt64() Int64s
   766  
   767  // Equal returns a mask indicating where x and y are equal.
   768  func (x Uint64s) Equal(y Uint64s) Mask64s
   769  
   770  // Greater returns a mask indicating where x is greater than y.
   771  func (x Uint64s) Greater(y Uint64s) Mask64s
   772  
   773  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   774  func (x Uint64s) GreaterEqual(y Uint64s) Mask64s
   775  
   776  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   777  func (x Uint64s) IfElse(mask Mask64s, y Uint64s) Uint64s
   778  
   779  // Len returns the number of elements in the vector.
   780  func (x Uint64s) Len() int
   781  
   782  // Less returns a mask indicating where x is less than y.
   783  func (x Uint64s) Less(y Uint64s) Mask64s
   784  
   785  // LessEqual returns a mask indicating where x is less than or equal to y.
   786  func (x Uint64s) LessEqual(y Uint64s) Mask64s
   787  
   788  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   789  func (x Uint64s) Masked(mask Mask64s) Uint64s
   790  
   791  // Not returns the bitwise NOT of x.
   792  func (x Uint64s) Not() Uint64s
   793  
   794  // NotEqual returns a mask indicating where x and y are not equal.
   795  func (x Uint64s) NotEqual(y Uint64s) Mask64s
   796  
   797  // Or returns the bitwise OR of x and y.
   798  func (x Uint64s) Or(y Uint64s) Uint64s
   799  
   800  // ReshapeToUint16s reinterprets the vector bits as a Uint16s vector.
   801  func (x Uint64s) ReshapeToUint16s() Uint16s
   802  
   803  // ReshapeToUint32s reinterprets the vector bits as a Uint32s vector.
   804  func (x Uint64s) ReshapeToUint32s() Uint32s
   805  
   806  // ReshapeToUint8s reinterprets the vector bits as a Uint8s vector.
   807  func (x Uint64s) ReshapeToUint8s() Uint8s
   808  
   809  // RotatesAllLeft rotates all elements left by y bits.
   810  func (x Uint64s) RotateAllLeft(dist uint64) Uint64s
   811  
   812  // RotatesAllRight rotates all elements right by y bits.
   813  func (x Uint64s) RotateAllRight(dist uint64) Uint64s
   814  
   815  // ShiftAllLeft shifts all elements left by y bits.
   816  func (x Uint64s) ShiftAllLeft(shift uint64) Uint64s
   817  
   818  // ShiftAllRight shifts all elements right by y bits.
   819  func (x Uint64s) ShiftAllRight(shift uint64) Uint64s
   820  
   821  // StoreSlice stores the vector elements into the slice s.
   822  func (x Uint64s) Store(s []uint64)
   823  
   824  // StoreSlicePart stores a partial vector into the slice s.
   825  func (x Uint64s) StorePart(s []uint64) int
   826  
   827  // String returns a string representation of the vector.
   828  func (x Uint64s) String() string
   829  
   830  // Sub returns the element-wise difference of x and y.
   831  func (x Uint64s) Sub(y Uint64s) Uint64s
   832  
   833  // Xor returns the bitwise XOR of x and y.
   834  func (x Uint64s) Xor(y Uint64s) Uint64s
   835  
   836  // LoadFloat32 loads a slice of float32 into an Float32s vector.
   837  func LoadFloat32s([]float32) Float32s
   838  
   839  // LoadFloat32Part loads a partial slice of float32 into an Float32s vector, returning the vector and the number of elements loaded.
   840  func LoadFloat32sPart([]float32) (Float32s, int)
   841  
   842  // BroadcastFloat32 fills the elements of a slice with its argument value.
   843  func BroadcastFloat32s(float32) Float32s
   844  
   845  // Abs returns the element-wise absolute value of x.
   846  func (x Float32s) Abs() Float32s
   847  
   848  // Add returns the element-wise sum of x and y.
   849  func (x Float32s) Add(y Float32s) Float32s
   850  
   851  // ConvertToInt32 converts the vector elements to int32.
   852  func (x Float32s) ConvertToInt32() Int32s
   853  
   854  // Div returns the element-wise quotient of x and y.
   855  func (x Float32s) Div(y Float32s) Float32s
   856  
   857  // Equal returns a mask indicating where x and y are equal.
   858  func (x Float32s) Equal(y Float32s) Mask32s
   859  
   860  // Greater returns a mask indicating where x is greater than y.
   861  func (x Float32s) Greater(y Float32s) Mask32s
   862  
   863  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   864  func (x Float32s) GreaterEqual(y Float32s) Mask32s
   865  
   866  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   867  func (x Float32s) IfElse(mask Mask32s, y Float32s) Float32s
   868  
   869  // Len returns the number of elements in the vector.
   870  func (x Float32s) Len() int
   871  
   872  // Less returns a mask indicating where x is less than y.
   873  func (x Float32s) Less(y Float32s) Mask32s
   874  
   875  // LessEqual returns a mask indicating where x is less than or equal to y.
   876  func (x Float32s) LessEqual(y Float32s) Mask32s
   877  
   878  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   879  func (x Float32s) Masked(mask Mask32s) Float32s
   880  
   881  // Max returns the element-wise maximum of x and y.
   882  func (x Float32s) Max(y Float32s) Float32s
   883  
   884  // Min returns the element-wise minimum of x and y.
   885  func (x Float32s) Min(y Float32s) Float32s
   886  
   887  // Mul returns the element-wise product of x and y.
   888  func (x Float32s) Mul(y Float32s) Float32s
   889  
   890  // MulAdd returns x * y + z element-wise.
   891  func (x Float32s) MulAdd(y Float32s, z Float32s) Float32s
   892  
   893  // Neg returns the element-wise negation of x.
   894  func (x Float32s) Neg() Float32s
   895  
   896  // NotEqual returns a mask indicating where x and y are not equal.
   897  func (x Float32s) NotEqual(y Float32s) Mask32s
   898  
   899  // Sqrt returns the element-wise square root of x.
   900  func (x Float32s) Sqrt() Float32s
   901  
   902  // StoreSlice stores the vector elements into the slice s.
   903  func (x Float32s) Store(s []float32)
   904  
   905  // StoreSlicePart stores a partial vector into the slice s.
   906  func (x Float32s) StorePart(s []float32) int
   907  
   908  // String returns a string representation of the vector.
   909  func (x Float32s) String() string
   910  
   911  // Sub returns the element-wise difference of x and y.
   912  func (x Float32s) Sub(y Float32s) Float32s
   913  
   914  // ToBits reinterprets the vector bits as an unsigned integer vector.
   915  func (x Float32s) ToBits() Uint32s
   916  
   917  // LoadFloat64 loads a slice of float64 into an Float64s vector.
   918  func LoadFloat64s([]float64) Float64s
   919  
   920  // LoadFloat64Part loads a partial slice of float64 into an Float64s vector, returning the vector and the number of elements loaded.
   921  func LoadFloat64sPart([]float64) (Float64s, int)
   922  
   923  // BroadcastFloat64 fills the elements of a slice with its argument value.
   924  func BroadcastFloat64s(float64) Float64s
   925  
   926  // Abs returns the element-wise absolute value of x.
   927  func (x Float64s) Abs() Float64s
   928  
   929  // Add returns the element-wise sum of x and y.
   930  func (x Float64s) Add(y Float64s) Float64s
   931  
   932  // Div returns the element-wise quotient of x and y.
   933  func (x Float64s) Div(y Float64s) Float64s
   934  
   935  // Equal returns a mask indicating where x and y are equal.
   936  func (x Float64s) Equal(y Float64s) Mask64s
   937  
   938  // Greater returns a mask indicating where x is greater than y.
   939  func (x Float64s) Greater(y Float64s) Mask64s
   940  
   941  // GreaterEqual returns a mask indicating where x is greater than or equal to y.
   942  func (x Float64s) GreaterEqual(y Float64s) Mask64s
   943  
   944  // IfElse returns a new vector with elements from x where mask is true, and y where mask is false.
   945  func (x Float64s) IfElse(mask Mask64s, y Float64s) Float64s
   946  
   947  // Len returns the number of elements in the vector.
   948  func (x Float64s) Len() int
   949  
   950  // Less returns a mask indicating where x is less than y.
   951  func (x Float64s) Less(y Float64s) Mask64s
   952  
   953  // LessEqual returns a mask indicating where x is less than or equal to y.
   954  func (x Float64s) LessEqual(y Float64s) Mask64s
   955  
   956  // Masked returns a new vector with elements from x where mask is true, and zero elsewhere.
   957  func (x Float64s) Masked(mask Mask64s) Float64s
   958  
   959  // Max returns the element-wise maximum of x and y.
   960  func (x Float64s) Max(y Float64s) Float64s
   961  
   962  // Min returns the element-wise minimum of x and y.
   963  func (x Float64s) Min(y Float64s) Float64s
   964  
   965  // Mul returns the element-wise product of x and y.
   966  func (x Float64s) Mul(y Float64s) Float64s
   967  
   968  // MulAdd returns x * y + z element-wise.
   969  func (x Float64s) MulAdd(y Float64s, z Float64s) Float64s
   970  
   971  // Neg returns the element-wise negation of x.
   972  func (x Float64s) Neg() Float64s
   973  
   974  // NotEqual returns a mask indicating where x and y are not equal.
   975  func (x Float64s) NotEqual(y Float64s) Mask64s
   976  
   977  // Sqrt returns the element-wise square root of x.
   978  func (x Float64s) Sqrt() Float64s
   979  
   980  // StoreSlice stores the vector elements into the slice s.
   981  func (x Float64s) Store(s []float64)
   982  
   983  // StoreSlicePart stores a partial vector into the slice s.
   984  func (x Float64s) StorePart(s []float64) int
   985  
   986  // String returns a string representation of the vector.
   987  func (x Float64s) String() string
   988  
   989  // Sub returns the element-wise difference of x and y.
   990  func (x Float64s) Sub(y Float64s) Float64s
   991  
   992  // ToBits reinterprets the vector bits as an unsigned integer vector.
   993  func (x Float64s) ToBits() Uint64s
   994  
   995  // And returns the bitwise AND of x and y.
   996  func (x Mask8s) And(y Mask8s) Mask8s
   997  
   998  // Or returns the bitwise OR of x and y.
   999  func (x Mask8s) Or(y Mask8s) Mask8s
  1000  
  1001  // String returns a string representation of the vector.
  1002  func (x Mask8s) String() string
  1003  
  1004  // ToInt8s converts the mask to an Int8s vector.
  1005  func (x Mask8s) ToInt8s() (to Int8s)
  1006  
  1007  // And returns the bitwise AND of x and y.
  1008  func (x Mask16s) And(y Mask16s) Mask16s
  1009  
  1010  // Or returns the bitwise OR of x and y.
  1011  func (x Mask16s) Or(y Mask16s) Mask16s
  1012  
  1013  // String returns a string representation of the vector.
  1014  func (x Mask16s) String() string
  1015  
  1016  // ToInt16s converts the mask to an Int16s vector.
  1017  func (x Mask16s) ToInt16s() (to Int16s)
  1018  
  1019  // And returns the bitwise AND of x and y.
  1020  func (x Mask32s) And(y Mask32s) Mask32s
  1021  
  1022  // Or returns the bitwise OR of x and y.
  1023  func (x Mask32s) Or(y Mask32s) Mask32s
  1024  
  1025  // String returns a string representation of the vector.
  1026  func (x Mask32s) String() string
  1027  
  1028  // ToInt32s converts the mask to an Int32s vector.
  1029  func (x Mask32s) ToInt32s() (to Int32s)
  1030  
  1031  // And returns the bitwise AND of x and y.
  1032  func (x Mask64s) And(y Mask64s) Mask64s
  1033  
  1034  // Or returns the bitwise OR of x and y.
  1035  func (x Mask64s) Or(y Mask64s) Mask64s
  1036  
  1037  // String returns a string representation of the vector.
  1038  func (x Mask64s) String() string
  1039  
  1040  // ToInt64s converts the mask to an Int64s vector.
  1041  func (x Mask64s) ToInt64s() (to Int64s)
  1042  

View as plain text