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