gorgonia.org/tensor@v0.9.24/internal/execution/generic_unary.go (about) 1 // Code generated by genlib2. DO NOT EDIT. 2 3 package execution 4 5 import ( 6 "math" 7 "math/cmplx" 8 9 "github.com/chewxy/math32" 10 ) 11 12 func NegI(a []int) { 13 for i := range a { 14 a[i] = -a[i] 15 } 16 } 17 18 func NegI8(a []int8) { 19 for i := range a { 20 a[i] = -a[i] 21 } 22 } 23 24 func NegI16(a []int16) { 25 for i := range a { 26 a[i] = -a[i] 27 } 28 } 29 30 func NegI32(a []int32) { 31 for i := range a { 32 a[i] = -a[i] 33 } 34 } 35 36 func NegI64(a []int64) { 37 for i := range a { 38 a[i] = -a[i] 39 } 40 } 41 42 func NegU(a []uint) { 43 for i := range a { 44 a[i] = -a[i] 45 } 46 } 47 48 func NegU8(a []uint8) { 49 for i := range a { 50 a[i] = -a[i] 51 } 52 } 53 54 func NegU16(a []uint16) { 55 for i := range a { 56 a[i] = -a[i] 57 } 58 } 59 60 func NegU32(a []uint32) { 61 for i := range a { 62 a[i] = -a[i] 63 } 64 } 65 66 func NegU64(a []uint64) { 67 for i := range a { 68 a[i] = -a[i] 69 } 70 } 71 72 func NegF32(a []float32) { 73 for i := range a { 74 a[i] = -a[i] 75 } 76 } 77 78 func NegF64(a []float64) { 79 for i := range a { 80 a[i] = -a[i] 81 } 82 } 83 84 func NegC64(a []complex64) { 85 for i := range a { 86 a[i] = -a[i] 87 } 88 } 89 90 func NegC128(a []complex128) { 91 for i := range a { 92 a[i] = -a[i] 93 } 94 } 95 96 func InvI(a []int) { 97 for i := range a { 98 a[i] = 1 / a[i] 99 } 100 } 101 102 func InvI8(a []int8) { 103 for i := range a { 104 a[i] = 1 / a[i] 105 } 106 } 107 108 func InvI16(a []int16) { 109 for i := range a { 110 a[i] = 1 / a[i] 111 } 112 } 113 114 func InvI32(a []int32) { 115 for i := range a { 116 a[i] = 1 / a[i] 117 } 118 } 119 120 func InvI64(a []int64) { 121 for i := range a { 122 a[i] = 1 / a[i] 123 } 124 } 125 126 func InvU(a []uint) { 127 for i := range a { 128 a[i] = 1 / a[i] 129 } 130 } 131 132 func InvU8(a []uint8) { 133 for i := range a { 134 a[i] = 1 / a[i] 135 } 136 } 137 138 func InvU16(a []uint16) { 139 for i := range a { 140 a[i] = 1 / a[i] 141 } 142 } 143 144 func InvU32(a []uint32) { 145 for i := range a { 146 a[i] = 1 / a[i] 147 } 148 } 149 150 func InvU64(a []uint64) { 151 for i := range a { 152 a[i] = 1 / a[i] 153 } 154 } 155 156 func InvF32(a []float32) { 157 for i := range a { 158 a[i] = 1 / a[i] 159 } 160 } 161 162 func InvF64(a []float64) { 163 for i := range a { 164 a[i] = 1 / a[i] 165 } 166 } 167 168 func InvC64(a []complex64) { 169 for i := range a { 170 a[i] = 1 / a[i] 171 } 172 } 173 174 func InvC128(a []complex128) { 175 for i := range a { 176 a[i] = 1 / a[i] 177 } 178 } 179 180 func SquareI(a []int) { 181 for i := range a { 182 a[i] = a[i] * a[i] 183 } 184 } 185 186 func SquareI8(a []int8) { 187 for i := range a { 188 a[i] = a[i] * a[i] 189 } 190 } 191 192 func SquareI16(a []int16) { 193 for i := range a { 194 a[i] = a[i] * a[i] 195 } 196 } 197 198 func SquareI32(a []int32) { 199 for i := range a { 200 a[i] = a[i] * a[i] 201 } 202 } 203 204 func SquareI64(a []int64) { 205 for i := range a { 206 a[i] = a[i] * a[i] 207 } 208 } 209 210 func SquareU(a []uint) { 211 for i := range a { 212 a[i] = a[i] * a[i] 213 } 214 } 215 216 func SquareU8(a []uint8) { 217 for i := range a { 218 a[i] = a[i] * a[i] 219 } 220 } 221 222 func SquareU16(a []uint16) { 223 for i := range a { 224 a[i] = a[i] * a[i] 225 } 226 } 227 228 func SquareU32(a []uint32) { 229 for i := range a { 230 a[i] = a[i] * a[i] 231 } 232 } 233 234 func SquareU64(a []uint64) { 235 for i := range a { 236 a[i] = a[i] * a[i] 237 } 238 } 239 240 func SquareF32(a []float32) { 241 for i := range a { 242 a[i] = a[i] * a[i] 243 } 244 } 245 246 func SquareF64(a []float64) { 247 for i := range a { 248 a[i] = a[i] * a[i] 249 } 250 } 251 252 func SquareC64(a []complex64) { 253 for i := range a { 254 a[i] = a[i] * a[i] 255 } 256 } 257 258 func SquareC128(a []complex128) { 259 for i := range a { 260 a[i] = a[i] * a[i] 261 } 262 } 263 264 func CubeI(a []int) { 265 for i := range a { 266 a[i] = a[i] * a[i] * a[i] 267 } 268 } 269 270 func CubeI8(a []int8) { 271 for i := range a { 272 a[i] = a[i] * a[i] * a[i] 273 } 274 } 275 276 func CubeI16(a []int16) { 277 for i := range a { 278 a[i] = a[i] * a[i] * a[i] 279 } 280 } 281 282 func CubeI32(a []int32) { 283 for i := range a { 284 a[i] = a[i] * a[i] * a[i] 285 } 286 } 287 288 func CubeI64(a []int64) { 289 for i := range a { 290 a[i] = a[i] * a[i] * a[i] 291 } 292 } 293 294 func CubeU(a []uint) { 295 for i := range a { 296 a[i] = a[i] * a[i] * a[i] 297 } 298 } 299 300 func CubeU8(a []uint8) { 301 for i := range a { 302 a[i] = a[i] * a[i] * a[i] 303 } 304 } 305 306 func CubeU16(a []uint16) { 307 for i := range a { 308 a[i] = a[i] * a[i] * a[i] 309 } 310 } 311 312 func CubeU32(a []uint32) { 313 for i := range a { 314 a[i] = a[i] * a[i] * a[i] 315 } 316 } 317 318 func CubeU64(a []uint64) { 319 for i := range a { 320 a[i] = a[i] * a[i] * a[i] 321 } 322 } 323 324 func CubeF32(a []float32) { 325 for i := range a { 326 a[i] = a[i] * a[i] * a[i] 327 } 328 } 329 330 func CubeF64(a []float64) { 331 for i := range a { 332 a[i] = a[i] * a[i] * a[i] 333 } 334 } 335 336 func CubeC64(a []complex64) { 337 for i := range a { 338 a[i] = a[i] * a[i] * a[i] 339 } 340 } 341 342 func CubeC128(a []complex128) { 343 for i := range a { 344 a[i] = a[i] * a[i] * a[i] 345 } 346 } 347 348 func ExpF32(a []float32) { 349 for i := range a { 350 a[i] = math32.Exp(a[i]) 351 } 352 } 353 354 func ExpF64(a []float64) { 355 for i := range a { 356 a[i] = math.Exp(a[i]) 357 } 358 } 359 360 func ExpC64(a []complex64) { 361 for i := range a { 362 a[i] = complex64(cmplx.Exp(complex128(a[i]))) 363 } 364 } 365 366 func ExpC128(a []complex128) { 367 for i := range a { 368 a[i] = cmplx.Exp(a[i]) 369 } 370 } 371 372 func TanhF32(a []float32) { 373 for i := range a { 374 a[i] = math32.Tanh(a[i]) 375 } 376 } 377 378 func TanhF64(a []float64) { 379 for i := range a { 380 a[i] = math.Tanh(a[i]) 381 } 382 } 383 384 func TanhC64(a []complex64) { 385 for i := range a { 386 a[i] = complex64(cmplx.Tanh(complex128(a[i]))) 387 } 388 } 389 390 func TanhC128(a []complex128) { 391 for i := range a { 392 a[i] = cmplx.Tanh(a[i]) 393 } 394 } 395 396 func LogF32(a []float32) { 397 for i := range a { 398 a[i] = math32.Log(a[i]) 399 } 400 } 401 402 func LogF64(a []float64) { 403 for i := range a { 404 a[i] = math.Log(a[i]) 405 } 406 } 407 408 func LogC64(a []complex64) { 409 for i := range a { 410 a[i] = complex64(cmplx.Log(complex128(a[i]))) 411 } 412 } 413 414 func LogC128(a []complex128) { 415 for i := range a { 416 a[i] = cmplx.Log(a[i]) 417 } 418 } 419 420 func Log2F32(a []float32) { 421 for i := range a { 422 a[i] = math32.Log2(a[i]) 423 } 424 } 425 426 func Log2F64(a []float64) { 427 for i := range a { 428 a[i] = math.Log2(a[i]) 429 } 430 } 431 432 func Log10F32(a []float32) { 433 for i := range a { 434 a[i] = math32.Log10(a[i]) 435 } 436 } 437 438 func Log10F64(a []float64) { 439 for i := range a { 440 a[i] = math.Log10(a[i]) 441 } 442 } 443 444 func Log10C64(a []complex64) { 445 for i := range a { 446 a[i] = complex64(cmplx.Log10(complex128(a[i]))) 447 } 448 } 449 450 func Log10C128(a []complex128) { 451 for i := range a { 452 a[i] = cmplx.Log10(a[i]) 453 } 454 } 455 456 func SqrtF32(a []float32) { 457 for i := range a { 458 a[i] = math32.Sqrt(a[i]) 459 } 460 } 461 462 func SqrtF64(a []float64) { 463 for i := range a { 464 a[i] = math.Sqrt(a[i]) 465 } 466 } 467 468 func SqrtC64(a []complex64) { 469 for i := range a { 470 a[i] = complex64(cmplx.Sqrt(complex128(a[i]))) 471 } 472 } 473 474 func SqrtC128(a []complex128) { 475 for i := range a { 476 a[i] = cmplx.Sqrt(a[i]) 477 } 478 } 479 480 func CbrtF32(a []float32) { 481 for i := range a { 482 a[i] = math32.Cbrt(a[i]) 483 } 484 } 485 486 func CbrtF64(a []float64) { 487 for i := range a { 488 a[i] = math.Cbrt(a[i]) 489 } 490 } 491 492 func InvSqrtF32(a []float32) { 493 for i := range a { 494 a[i] = float32(1) / math32.Sqrt(a[i]) 495 } 496 } 497 498 func InvSqrtF64(a []float64) { 499 for i := range a { 500 a[i] = float64(1) / math.Sqrt(a[i]) 501 } 502 } 503 504 func NegIterI(a []int, ait Iterator) (err error) { 505 var i int 506 var validi bool 507 for { 508 if i, validi, err = ait.NextValidity(); err != nil { 509 err = handleNoOp(err) 510 break 511 } 512 if validi { 513 a[i] = -a[i] 514 } 515 } 516 return 517 } 518 519 func NegIterI8(a []int8, ait Iterator) (err error) { 520 var i int 521 var validi bool 522 for { 523 if i, validi, err = ait.NextValidity(); err != nil { 524 err = handleNoOp(err) 525 break 526 } 527 if validi { 528 a[i] = -a[i] 529 } 530 } 531 return 532 } 533 534 func NegIterI16(a []int16, ait Iterator) (err error) { 535 var i int 536 var validi bool 537 for { 538 if i, validi, err = ait.NextValidity(); err != nil { 539 err = handleNoOp(err) 540 break 541 } 542 if validi { 543 a[i] = -a[i] 544 } 545 } 546 return 547 } 548 549 func NegIterI32(a []int32, ait Iterator) (err error) { 550 var i int 551 var validi bool 552 for { 553 if i, validi, err = ait.NextValidity(); err != nil { 554 err = handleNoOp(err) 555 break 556 } 557 if validi { 558 a[i] = -a[i] 559 } 560 } 561 return 562 } 563 564 func NegIterI64(a []int64, ait Iterator) (err error) { 565 var i int 566 var validi bool 567 for { 568 if i, validi, err = ait.NextValidity(); err != nil { 569 err = handleNoOp(err) 570 break 571 } 572 if validi { 573 a[i] = -a[i] 574 } 575 } 576 return 577 } 578 579 func NegIterU(a []uint, ait Iterator) (err error) { 580 var i int 581 var validi bool 582 for { 583 if i, validi, err = ait.NextValidity(); err != nil { 584 err = handleNoOp(err) 585 break 586 } 587 if validi { 588 a[i] = -a[i] 589 } 590 } 591 return 592 } 593 594 func NegIterU8(a []uint8, ait Iterator) (err error) { 595 var i int 596 var validi bool 597 for { 598 if i, validi, err = ait.NextValidity(); err != nil { 599 err = handleNoOp(err) 600 break 601 } 602 if validi { 603 a[i] = -a[i] 604 } 605 } 606 return 607 } 608 609 func NegIterU16(a []uint16, ait Iterator) (err error) { 610 var i int 611 var validi bool 612 for { 613 if i, validi, err = ait.NextValidity(); err != nil { 614 err = handleNoOp(err) 615 break 616 } 617 if validi { 618 a[i] = -a[i] 619 } 620 } 621 return 622 } 623 624 func NegIterU32(a []uint32, ait Iterator) (err error) { 625 var i int 626 var validi bool 627 for { 628 if i, validi, err = ait.NextValidity(); err != nil { 629 err = handleNoOp(err) 630 break 631 } 632 if validi { 633 a[i] = -a[i] 634 } 635 } 636 return 637 } 638 639 func NegIterU64(a []uint64, ait Iterator) (err error) { 640 var i int 641 var validi bool 642 for { 643 if i, validi, err = ait.NextValidity(); err != nil { 644 err = handleNoOp(err) 645 break 646 } 647 if validi { 648 a[i] = -a[i] 649 } 650 } 651 return 652 } 653 654 func NegIterF32(a []float32, ait Iterator) (err error) { 655 var i int 656 var validi bool 657 for { 658 if i, validi, err = ait.NextValidity(); err != nil { 659 err = handleNoOp(err) 660 break 661 } 662 if validi { 663 a[i] = -a[i] 664 } 665 } 666 return 667 } 668 669 func NegIterF64(a []float64, ait Iterator) (err error) { 670 var i int 671 var validi bool 672 for { 673 if i, validi, err = ait.NextValidity(); err != nil { 674 err = handleNoOp(err) 675 break 676 } 677 if validi { 678 a[i] = -a[i] 679 } 680 } 681 return 682 } 683 684 func NegIterC64(a []complex64, ait Iterator) (err error) { 685 var i int 686 var validi bool 687 for { 688 if i, validi, err = ait.NextValidity(); err != nil { 689 err = handleNoOp(err) 690 break 691 } 692 if validi { 693 a[i] = -a[i] 694 } 695 } 696 return 697 } 698 699 func NegIterC128(a []complex128, ait Iterator) (err error) { 700 var i int 701 var validi bool 702 for { 703 if i, validi, err = ait.NextValidity(); err != nil { 704 err = handleNoOp(err) 705 break 706 } 707 if validi { 708 a[i] = -a[i] 709 } 710 } 711 return 712 } 713 714 func InvIterI(a []int, ait Iterator) (err error) { 715 var i int 716 var validi bool 717 for { 718 if i, validi, err = ait.NextValidity(); err != nil { 719 err = handleNoOp(err) 720 break 721 } 722 if validi { 723 a[i] = 1 / a[i] 724 } 725 } 726 return 727 } 728 729 func InvIterI8(a []int8, ait Iterator) (err error) { 730 var i int 731 var validi bool 732 for { 733 if i, validi, err = ait.NextValidity(); err != nil { 734 err = handleNoOp(err) 735 break 736 } 737 if validi { 738 a[i] = 1 / a[i] 739 } 740 } 741 return 742 } 743 744 func InvIterI16(a []int16, ait Iterator) (err error) { 745 var i int 746 var validi bool 747 for { 748 if i, validi, err = ait.NextValidity(); err != nil { 749 err = handleNoOp(err) 750 break 751 } 752 if validi { 753 a[i] = 1 / a[i] 754 } 755 } 756 return 757 } 758 759 func InvIterI32(a []int32, ait Iterator) (err error) { 760 var i int 761 var validi bool 762 for { 763 if i, validi, err = ait.NextValidity(); err != nil { 764 err = handleNoOp(err) 765 break 766 } 767 if validi { 768 a[i] = 1 / a[i] 769 } 770 } 771 return 772 } 773 774 func InvIterI64(a []int64, ait Iterator) (err error) { 775 var i int 776 var validi bool 777 for { 778 if i, validi, err = ait.NextValidity(); err != nil { 779 err = handleNoOp(err) 780 break 781 } 782 if validi { 783 a[i] = 1 / a[i] 784 } 785 } 786 return 787 } 788 789 func InvIterU(a []uint, ait Iterator) (err error) { 790 var i int 791 var validi bool 792 for { 793 if i, validi, err = ait.NextValidity(); err != nil { 794 err = handleNoOp(err) 795 break 796 } 797 if validi { 798 a[i] = 1 / a[i] 799 } 800 } 801 return 802 } 803 804 func InvIterU8(a []uint8, ait Iterator) (err error) { 805 var i int 806 var validi bool 807 for { 808 if i, validi, err = ait.NextValidity(); err != nil { 809 err = handleNoOp(err) 810 break 811 } 812 if validi { 813 a[i] = 1 / a[i] 814 } 815 } 816 return 817 } 818 819 func InvIterU16(a []uint16, ait Iterator) (err error) { 820 var i int 821 var validi bool 822 for { 823 if i, validi, err = ait.NextValidity(); err != nil { 824 err = handleNoOp(err) 825 break 826 } 827 if validi { 828 a[i] = 1 / a[i] 829 } 830 } 831 return 832 } 833 834 func InvIterU32(a []uint32, ait Iterator) (err error) { 835 var i int 836 var validi bool 837 for { 838 if i, validi, err = ait.NextValidity(); err != nil { 839 err = handleNoOp(err) 840 break 841 } 842 if validi { 843 a[i] = 1 / a[i] 844 } 845 } 846 return 847 } 848 849 func InvIterU64(a []uint64, ait Iterator) (err error) { 850 var i int 851 var validi bool 852 for { 853 if i, validi, err = ait.NextValidity(); err != nil { 854 err = handleNoOp(err) 855 break 856 } 857 if validi { 858 a[i] = 1 / a[i] 859 } 860 } 861 return 862 } 863 864 func InvIterF32(a []float32, ait Iterator) (err error) { 865 var i int 866 var validi bool 867 for { 868 if i, validi, err = ait.NextValidity(); err != nil { 869 err = handleNoOp(err) 870 break 871 } 872 if validi { 873 a[i] = 1 / a[i] 874 } 875 } 876 return 877 } 878 879 func InvIterF64(a []float64, ait Iterator) (err error) { 880 var i int 881 var validi bool 882 for { 883 if i, validi, err = ait.NextValidity(); err != nil { 884 err = handleNoOp(err) 885 break 886 } 887 if validi { 888 a[i] = 1 / a[i] 889 } 890 } 891 return 892 } 893 894 func InvIterC64(a []complex64, ait Iterator) (err error) { 895 var i int 896 var validi bool 897 for { 898 if i, validi, err = ait.NextValidity(); err != nil { 899 err = handleNoOp(err) 900 break 901 } 902 if validi { 903 a[i] = 1 / a[i] 904 } 905 } 906 return 907 } 908 909 func InvIterC128(a []complex128, ait Iterator) (err error) { 910 var i int 911 var validi bool 912 for { 913 if i, validi, err = ait.NextValidity(); err != nil { 914 err = handleNoOp(err) 915 break 916 } 917 if validi { 918 a[i] = 1 / a[i] 919 } 920 } 921 return 922 } 923 924 func SquareIterI(a []int, ait Iterator) (err error) { 925 var i int 926 var validi bool 927 for { 928 if i, validi, err = ait.NextValidity(); err != nil { 929 err = handleNoOp(err) 930 break 931 } 932 if validi { 933 a[i] = a[i] * a[i] 934 } 935 } 936 return 937 } 938 939 func SquareIterI8(a []int8, ait Iterator) (err error) { 940 var i int 941 var validi bool 942 for { 943 if i, validi, err = ait.NextValidity(); err != nil { 944 err = handleNoOp(err) 945 break 946 } 947 if validi { 948 a[i] = a[i] * a[i] 949 } 950 } 951 return 952 } 953 954 func SquareIterI16(a []int16, ait Iterator) (err error) { 955 var i int 956 var validi bool 957 for { 958 if i, validi, err = ait.NextValidity(); err != nil { 959 err = handleNoOp(err) 960 break 961 } 962 if validi { 963 a[i] = a[i] * a[i] 964 } 965 } 966 return 967 } 968 969 func SquareIterI32(a []int32, ait Iterator) (err error) { 970 var i int 971 var validi bool 972 for { 973 if i, validi, err = ait.NextValidity(); err != nil { 974 err = handleNoOp(err) 975 break 976 } 977 if validi { 978 a[i] = a[i] * a[i] 979 } 980 } 981 return 982 } 983 984 func SquareIterI64(a []int64, ait Iterator) (err error) { 985 var i int 986 var validi bool 987 for { 988 if i, validi, err = ait.NextValidity(); err != nil { 989 err = handleNoOp(err) 990 break 991 } 992 if validi { 993 a[i] = a[i] * a[i] 994 } 995 } 996 return 997 } 998 999 func SquareIterU(a []uint, ait Iterator) (err error) { 1000 var i int 1001 var validi bool 1002 for { 1003 if i, validi, err = ait.NextValidity(); err != nil { 1004 err = handleNoOp(err) 1005 break 1006 } 1007 if validi { 1008 a[i] = a[i] * a[i] 1009 } 1010 } 1011 return 1012 } 1013 1014 func SquareIterU8(a []uint8, ait Iterator) (err error) { 1015 var i int 1016 var validi bool 1017 for { 1018 if i, validi, err = ait.NextValidity(); err != nil { 1019 err = handleNoOp(err) 1020 break 1021 } 1022 if validi { 1023 a[i] = a[i] * a[i] 1024 } 1025 } 1026 return 1027 } 1028 1029 func SquareIterU16(a []uint16, ait Iterator) (err error) { 1030 var i int 1031 var validi bool 1032 for { 1033 if i, validi, err = ait.NextValidity(); err != nil { 1034 err = handleNoOp(err) 1035 break 1036 } 1037 if validi { 1038 a[i] = a[i] * a[i] 1039 } 1040 } 1041 return 1042 } 1043 1044 func SquareIterU32(a []uint32, ait Iterator) (err error) { 1045 var i int 1046 var validi bool 1047 for { 1048 if i, validi, err = ait.NextValidity(); err != nil { 1049 err = handleNoOp(err) 1050 break 1051 } 1052 if validi { 1053 a[i] = a[i] * a[i] 1054 } 1055 } 1056 return 1057 } 1058 1059 func SquareIterU64(a []uint64, ait Iterator) (err error) { 1060 var i int 1061 var validi bool 1062 for { 1063 if i, validi, err = ait.NextValidity(); err != nil { 1064 err = handleNoOp(err) 1065 break 1066 } 1067 if validi { 1068 a[i] = a[i] * a[i] 1069 } 1070 } 1071 return 1072 } 1073 1074 func SquareIterF32(a []float32, ait Iterator) (err error) { 1075 var i int 1076 var validi bool 1077 for { 1078 if i, validi, err = ait.NextValidity(); err != nil { 1079 err = handleNoOp(err) 1080 break 1081 } 1082 if validi { 1083 a[i] = a[i] * a[i] 1084 } 1085 } 1086 return 1087 } 1088 1089 func SquareIterF64(a []float64, ait Iterator) (err error) { 1090 var i int 1091 var validi bool 1092 for { 1093 if i, validi, err = ait.NextValidity(); err != nil { 1094 err = handleNoOp(err) 1095 break 1096 } 1097 if validi { 1098 a[i] = a[i] * a[i] 1099 } 1100 } 1101 return 1102 } 1103 1104 func SquareIterC64(a []complex64, ait Iterator) (err error) { 1105 var i int 1106 var validi bool 1107 for { 1108 if i, validi, err = ait.NextValidity(); err != nil { 1109 err = handleNoOp(err) 1110 break 1111 } 1112 if validi { 1113 a[i] = a[i] * a[i] 1114 } 1115 } 1116 return 1117 } 1118 1119 func SquareIterC128(a []complex128, ait Iterator) (err error) { 1120 var i int 1121 var validi bool 1122 for { 1123 if i, validi, err = ait.NextValidity(); err != nil { 1124 err = handleNoOp(err) 1125 break 1126 } 1127 if validi { 1128 a[i] = a[i] * a[i] 1129 } 1130 } 1131 return 1132 } 1133 1134 func CubeIterI(a []int, ait Iterator) (err error) { 1135 var i int 1136 var validi bool 1137 for { 1138 if i, validi, err = ait.NextValidity(); err != nil { 1139 err = handleNoOp(err) 1140 break 1141 } 1142 if validi { 1143 a[i] = a[i] * a[i] * a[i] 1144 } 1145 } 1146 return 1147 } 1148 1149 func CubeIterI8(a []int8, ait Iterator) (err error) { 1150 var i int 1151 var validi bool 1152 for { 1153 if i, validi, err = ait.NextValidity(); err != nil { 1154 err = handleNoOp(err) 1155 break 1156 } 1157 if validi { 1158 a[i] = a[i] * a[i] * a[i] 1159 } 1160 } 1161 return 1162 } 1163 1164 func CubeIterI16(a []int16, ait Iterator) (err error) { 1165 var i int 1166 var validi bool 1167 for { 1168 if i, validi, err = ait.NextValidity(); err != nil { 1169 err = handleNoOp(err) 1170 break 1171 } 1172 if validi { 1173 a[i] = a[i] * a[i] * a[i] 1174 } 1175 } 1176 return 1177 } 1178 1179 func CubeIterI32(a []int32, ait Iterator) (err error) { 1180 var i int 1181 var validi bool 1182 for { 1183 if i, validi, err = ait.NextValidity(); err != nil { 1184 err = handleNoOp(err) 1185 break 1186 } 1187 if validi { 1188 a[i] = a[i] * a[i] * a[i] 1189 } 1190 } 1191 return 1192 } 1193 1194 func CubeIterI64(a []int64, ait Iterator) (err error) { 1195 var i int 1196 var validi bool 1197 for { 1198 if i, validi, err = ait.NextValidity(); err != nil { 1199 err = handleNoOp(err) 1200 break 1201 } 1202 if validi { 1203 a[i] = a[i] * a[i] * a[i] 1204 } 1205 } 1206 return 1207 } 1208 1209 func CubeIterU(a []uint, ait Iterator) (err error) { 1210 var i int 1211 var validi bool 1212 for { 1213 if i, validi, err = ait.NextValidity(); err != nil { 1214 err = handleNoOp(err) 1215 break 1216 } 1217 if validi { 1218 a[i] = a[i] * a[i] * a[i] 1219 } 1220 } 1221 return 1222 } 1223 1224 func CubeIterU8(a []uint8, ait Iterator) (err error) { 1225 var i int 1226 var validi bool 1227 for { 1228 if i, validi, err = ait.NextValidity(); err != nil { 1229 err = handleNoOp(err) 1230 break 1231 } 1232 if validi { 1233 a[i] = a[i] * a[i] * a[i] 1234 } 1235 } 1236 return 1237 } 1238 1239 func CubeIterU16(a []uint16, ait Iterator) (err error) { 1240 var i int 1241 var validi bool 1242 for { 1243 if i, validi, err = ait.NextValidity(); err != nil { 1244 err = handleNoOp(err) 1245 break 1246 } 1247 if validi { 1248 a[i] = a[i] * a[i] * a[i] 1249 } 1250 } 1251 return 1252 } 1253 1254 func CubeIterU32(a []uint32, ait Iterator) (err error) { 1255 var i int 1256 var validi bool 1257 for { 1258 if i, validi, err = ait.NextValidity(); err != nil { 1259 err = handleNoOp(err) 1260 break 1261 } 1262 if validi { 1263 a[i] = a[i] * a[i] * a[i] 1264 } 1265 } 1266 return 1267 } 1268 1269 func CubeIterU64(a []uint64, ait Iterator) (err error) { 1270 var i int 1271 var validi bool 1272 for { 1273 if i, validi, err = ait.NextValidity(); err != nil { 1274 err = handleNoOp(err) 1275 break 1276 } 1277 if validi { 1278 a[i] = a[i] * a[i] * a[i] 1279 } 1280 } 1281 return 1282 } 1283 1284 func CubeIterF32(a []float32, ait Iterator) (err error) { 1285 var i int 1286 var validi bool 1287 for { 1288 if i, validi, err = ait.NextValidity(); err != nil { 1289 err = handleNoOp(err) 1290 break 1291 } 1292 if validi { 1293 a[i] = a[i] * a[i] * a[i] 1294 } 1295 } 1296 return 1297 } 1298 1299 func CubeIterF64(a []float64, ait Iterator) (err error) { 1300 var i int 1301 var validi bool 1302 for { 1303 if i, validi, err = ait.NextValidity(); err != nil { 1304 err = handleNoOp(err) 1305 break 1306 } 1307 if validi { 1308 a[i] = a[i] * a[i] * a[i] 1309 } 1310 } 1311 return 1312 } 1313 1314 func CubeIterC64(a []complex64, ait Iterator) (err error) { 1315 var i int 1316 var validi bool 1317 for { 1318 if i, validi, err = ait.NextValidity(); err != nil { 1319 err = handleNoOp(err) 1320 break 1321 } 1322 if validi { 1323 a[i] = a[i] * a[i] * a[i] 1324 } 1325 } 1326 return 1327 } 1328 1329 func CubeIterC128(a []complex128, ait Iterator) (err error) { 1330 var i int 1331 var validi bool 1332 for { 1333 if i, validi, err = ait.NextValidity(); err != nil { 1334 err = handleNoOp(err) 1335 break 1336 } 1337 if validi { 1338 a[i] = a[i] * a[i] * a[i] 1339 } 1340 } 1341 return 1342 } 1343 1344 func ExpIterF32(a []float32, ait Iterator) (err error) { 1345 var i int 1346 var validi bool 1347 for { 1348 if i, validi, err = ait.NextValidity(); err != nil { 1349 err = handleNoOp(err) 1350 break 1351 } 1352 if validi { 1353 a[i] = math32.Exp(a[i]) 1354 } 1355 } 1356 return 1357 } 1358 1359 func ExpIterF64(a []float64, ait Iterator) (err error) { 1360 var i int 1361 var validi bool 1362 for { 1363 if i, validi, err = ait.NextValidity(); err != nil { 1364 err = handleNoOp(err) 1365 break 1366 } 1367 if validi { 1368 a[i] = math.Exp(a[i]) 1369 } 1370 } 1371 return 1372 } 1373 1374 func ExpIterC64(a []complex64, ait Iterator) (err error) { 1375 var i int 1376 var validi bool 1377 for { 1378 if i, validi, err = ait.NextValidity(); err != nil { 1379 err = handleNoOp(err) 1380 break 1381 } 1382 if validi { 1383 a[i] = complex64(cmplx.Exp(complex128(a[i]))) 1384 } 1385 } 1386 return 1387 } 1388 1389 func ExpIterC128(a []complex128, ait Iterator) (err error) { 1390 var i int 1391 var validi bool 1392 for { 1393 if i, validi, err = ait.NextValidity(); err != nil { 1394 err = handleNoOp(err) 1395 break 1396 } 1397 if validi { 1398 a[i] = cmplx.Exp(a[i]) 1399 } 1400 } 1401 return 1402 } 1403 1404 func TanhIterF32(a []float32, ait Iterator) (err error) { 1405 var i int 1406 var validi bool 1407 for { 1408 if i, validi, err = ait.NextValidity(); err != nil { 1409 err = handleNoOp(err) 1410 break 1411 } 1412 if validi { 1413 a[i] = math32.Tanh(a[i]) 1414 } 1415 } 1416 return 1417 } 1418 1419 func TanhIterF64(a []float64, ait Iterator) (err error) { 1420 var i int 1421 var validi bool 1422 for { 1423 if i, validi, err = ait.NextValidity(); err != nil { 1424 err = handleNoOp(err) 1425 break 1426 } 1427 if validi { 1428 a[i] = math.Tanh(a[i]) 1429 } 1430 } 1431 return 1432 } 1433 1434 func TanhIterC64(a []complex64, ait Iterator) (err error) { 1435 var i int 1436 var validi bool 1437 for { 1438 if i, validi, err = ait.NextValidity(); err != nil { 1439 err = handleNoOp(err) 1440 break 1441 } 1442 if validi { 1443 a[i] = complex64(cmplx.Tanh(complex128(a[i]))) 1444 } 1445 } 1446 return 1447 } 1448 1449 func TanhIterC128(a []complex128, ait Iterator) (err error) { 1450 var i int 1451 var validi bool 1452 for { 1453 if i, validi, err = ait.NextValidity(); err != nil { 1454 err = handleNoOp(err) 1455 break 1456 } 1457 if validi { 1458 a[i] = cmplx.Tanh(a[i]) 1459 } 1460 } 1461 return 1462 } 1463 1464 func LogIterF32(a []float32, ait Iterator) (err error) { 1465 var i int 1466 var validi bool 1467 for { 1468 if i, validi, err = ait.NextValidity(); err != nil { 1469 err = handleNoOp(err) 1470 break 1471 } 1472 if validi { 1473 a[i] = math32.Log(a[i]) 1474 } 1475 } 1476 return 1477 } 1478 1479 func LogIterF64(a []float64, ait Iterator) (err error) { 1480 var i int 1481 var validi bool 1482 for { 1483 if i, validi, err = ait.NextValidity(); err != nil { 1484 err = handleNoOp(err) 1485 break 1486 } 1487 if validi { 1488 a[i] = math.Log(a[i]) 1489 } 1490 } 1491 return 1492 } 1493 1494 func LogIterC64(a []complex64, ait Iterator) (err error) { 1495 var i int 1496 var validi bool 1497 for { 1498 if i, validi, err = ait.NextValidity(); err != nil { 1499 err = handleNoOp(err) 1500 break 1501 } 1502 if validi { 1503 a[i] = complex64(cmplx.Log(complex128(a[i]))) 1504 } 1505 } 1506 return 1507 } 1508 1509 func LogIterC128(a []complex128, ait Iterator) (err error) { 1510 var i int 1511 var validi bool 1512 for { 1513 if i, validi, err = ait.NextValidity(); err != nil { 1514 err = handleNoOp(err) 1515 break 1516 } 1517 if validi { 1518 a[i] = cmplx.Log(a[i]) 1519 } 1520 } 1521 return 1522 } 1523 1524 func Log2IterF32(a []float32, ait Iterator) (err error) { 1525 var i int 1526 var validi bool 1527 for { 1528 if i, validi, err = ait.NextValidity(); err != nil { 1529 err = handleNoOp(err) 1530 break 1531 } 1532 if validi { 1533 a[i] = math32.Log2(a[i]) 1534 } 1535 } 1536 return 1537 } 1538 1539 func Log2IterF64(a []float64, ait Iterator) (err error) { 1540 var i int 1541 var validi bool 1542 for { 1543 if i, validi, err = ait.NextValidity(); err != nil { 1544 err = handleNoOp(err) 1545 break 1546 } 1547 if validi { 1548 a[i] = math.Log2(a[i]) 1549 } 1550 } 1551 return 1552 } 1553 1554 func Log10IterF32(a []float32, ait Iterator) (err error) { 1555 var i int 1556 var validi bool 1557 for { 1558 if i, validi, err = ait.NextValidity(); err != nil { 1559 err = handleNoOp(err) 1560 break 1561 } 1562 if validi { 1563 a[i] = math32.Log10(a[i]) 1564 } 1565 } 1566 return 1567 } 1568 1569 func Log10IterF64(a []float64, ait Iterator) (err error) { 1570 var i int 1571 var validi bool 1572 for { 1573 if i, validi, err = ait.NextValidity(); err != nil { 1574 err = handleNoOp(err) 1575 break 1576 } 1577 if validi { 1578 a[i] = math.Log10(a[i]) 1579 } 1580 } 1581 return 1582 } 1583 1584 func Log10IterC64(a []complex64, ait Iterator) (err error) { 1585 var i int 1586 var validi bool 1587 for { 1588 if i, validi, err = ait.NextValidity(); err != nil { 1589 err = handleNoOp(err) 1590 break 1591 } 1592 if validi { 1593 a[i] = complex64(cmplx.Log10(complex128(a[i]))) 1594 } 1595 } 1596 return 1597 } 1598 1599 func Log10IterC128(a []complex128, ait Iterator) (err error) { 1600 var i int 1601 var validi bool 1602 for { 1603 if i, validi, err = ait.NextValidity(); err != nil { 1604 err = handleNoOp(err) 1605 break 1606 } 1607 if validi { 1608 a[i] = cmplx.Log10(a[i]) 1609 } 1610 } 1611 return 1612 } 1613 1614 func SqrtIterF32(a []float32, ait Iterator) (err error) { 1615 var i int 1616 var validi bool 1617 for { 1618 if i, validi, err = ait.NextValidity(); err != nil { 1619 err = handleNoOp(err) 1620 break 1621 } 1622 if validi { 1623 a[i] = math32.Sqrt(a[i]) 1624 } 1625 } 1626 return 1627 } 1628 1629 func SqrtIterF64(a []float64, ait Iterator) (err error) { 1630 var i int 1631 var validi bool 1632 for { 1633 if i, validi, err = ait.NextValidity(); err != nil { 1634 err = handleNoOp(err) 1635 break 1636 } 1637 if validi { 1638 a[i] = math.Sqrt(a[i]) 1639 } 1640 } 1641 return 1642 } 1643 1644 func SqrtIterC64(a []complex64, ait Iterator) (err error) { 1645 var i int 1646 var validi bool 1647 for { 1648 if i, validi, err = ait.NextValidity(); err != nil { 1649 err = handleNoOp(err) 1650 break 1651 } 1652 if validi { 1653 a[i] = complex64(cmplx.Sqrt(complex128(a[i]))) 1654 } 1655 } 1656 return 1657 } 1658 1659 func SqrtIterC128(a []complex128, ait Iterator) (err error) { 1660 var i int 1661 var validi bool 1662 for { 1663 if i, validi, err = ait.NextValidity(); err != nil { 1664 err = handleNoOp(err) 1665 break 1666 } 1667 if validi { 1668 a[i] = cmplx.Sqrt(a[i]) 1669 } 1670 } 1671 return 1672 } 1673 1674 func CbrtIterF32(a []float32, ait Iterator) (err error) { 1675 var i int 1676 var validi bool 1677 for { 1678 if i, validi, err = ait.NextValidity(); err != nil { 1679 err = handleNoOp(err) 1680 break 1681 } 1682 if validi { 1683 a[i] = math32.Cbrt(a[i]) 1684 } 1685 } 1686 return 1687 } 1688 1689 func CbrtIterF64(a []float64, ait Iterator) (err error) { 1690 var i int 1691 var validi bool 1692 for { 1693 if i, validi, err = ait.NextValidity(); err != nil { 1694 err = handleNoOp(err) 1695 break 1696 } 1697 if validi { 1698 a[i] = math.Cbrt(a[i]) 1699 } 1700 } 1701 return 1702 } 1703 1704 func InvSqrtIterF32(a []float32, ait Iterator) (err error) { 1705 var i int 1706 var validi bool 1707 for { 1708 if i, validi, err = ait.NextValidity(); err != nil { 1709 err = handleNoOp(err) 1710 break 1711 } 1712 if validi { 1713 a[i] = float32(1) / math32.Sqrt(a[i]) 1714 } 1715 } 1716 return 1717 } 1718 1719 func InvSqrtIterF64(a []float64, ait Iterator) (err error) { 1720 var i int 1721 var validi bool 1722 for { 1723 if i, validi, err = ait.NextValidity(); err != nil { 1724 err = handleNoOp(err) 1725 break 1726 } 1727 if validi { 1728 a[i] = float64(1) / math.Sqrt(a[i]) 1729 } 1730 } 1731 return 1732 } 1733 1734 func AbsI(a []int) { 1735 for i := range a { 1736 if a[i] < 0 { 1737 a[i] = -a[i] 1738 } 1739 } 1740 } 1741 1742 func AbsI8(a []int8) { 1743 for i := range a { 1744 if a[i] < 0 { 1745 a[i] = -a[i] 1746 } 1747 } 1748 } 1749 1750 func AbsI16(a []int16) { 1751 for i := range a { 1752 if a[i] < 0 { 1753 a[i] = -a[i] 1754 } 1755 } 1756 } 1757 1758 func AbsI32(a []int32) { 1759 for i := range a { 1760 if a[i] < 0 { 1761 a[i] = -a[i] 1762 } 1763 } 1764 } 1765 1766 func AbsI64(a []int64) { 1767 for i := range a { 1768 if a[i] < 0 { 1769 a[i] = -a[i] 1770 } 1771 } 1772 } 1773 1774 func AbsF32(a []float32) { 1775 for i := range a { 1776 a[i] = math32.Abs(a[i]) 1777 } 1778 } 1779 1780 func AbsF64(a []float64) { 1781 for i := range a { 1782 a[i] = math.Abs(a[i]) 1783 } 1784 } 1785 1786 func SignI(a []int) { 1787 for i := range a { 1788 if a[i] < 0 { 1789 a[i] = -1 1790 } else if a[i] > 0 { 1791 a[i] = 1 1792 } 1793 } 1794 } 1795 1796 func SignI8(a []int8) { 1797 for i := range a { 1798 if a[i] < 0 { 1799 a[i] = -1 1800 } else if a[i] > 0 { 1801 a[i] = 1 1802 } 1803 } 1804 } 1805 1806 func SignI16(a []int16) { 1807 for i := range a { 1808 if a[i] < 0 { 1809 a[i] = -1 1810 } else if a[i] > 0 { 1811 a[i] = 1 1812 } 1813 } 1814 } 1815 1816 func SignI32(a []int32) { 1817 for i := range a { 1818 if a[i] < 0 { 1819 a[i] = -1 1820 } else if a[i] > 0 { 1821 a[i] = 1 1822 } 1823 } 1824 } 1825 1826 func SignI64(a []int64) { 1827 for i := range a { 1828 if a[i] < 0 { 1829 a[i] = -1 1830 } else if a[i] > 0 { 1831 a[i] = 1 1832 } 1833 } 1834 } 1835 1836 func SignF32(a []float32) { 1837 for i := range a { 1838 if a[i] < 0 { 1839 a[i] = -1 1840 } else if a[i] > 0 { 1841 a[i] = 1 1842 } 1843 } 1844 } 1845 1846 func SignF64(a []float64) { 1847 for i := range a { 1848 if a[i] < 0 { 1849 a[i] = -1 1850 } else if a[i] > 0 { 1851 a[i] = 1 1852 } 1853 } 1854 } 1855 1856 func AbsIterI(a []int, ait Iterator) (err error) { 1857 var i int 1858 var validi bool 1859 for { 1860 if i, validi, err = ait.NextValidity(); err != nil { 1861 err = handleNoOp(err) 1862 break 1863 } 1864 if validi { 1865 if a[i] < 0 { 1866 a[i] = -a[i] 1867 } 1868 } 1869 } 1870 return 1871 } 1872 1873 func AbsIterI8(a []int8, ait Iterator) (err error) { 1874 var i int 1875 var validi bool 1876 for { 1877 if i, validi, err = ait.NextValidity(); err != nil { 1878 err = handleNoOp(err) 1879 break 1880 } 1881 if validi { 1882 if a[i] < 0 { 1883 a[i] = -a[i] 1884 } 1885 } 1886 } 1887 return 1888 } 1889 1890 func AbsIterI16(a []int16, ait Iterator) (err error) { 1891 var i int 1892 var validi bool 1893 for { 1894 if i, validi, err = ait.NextValidity(); err != nil { 1895 err = handleNoOp(err) 1896 break 1897 } 1898 if validi { 1899 if a[i] < 0 { 1900 a[i] = -a[i] 1901 } 1902 } 1903 } 1904 return 1905 } 1906 1907 func AbsIterI32(a []int32, ait Iterator) (err error) { 1908 var i int 1909 var validi bool 1910 for { 1911 if i, validi, err = ait.NextValidity(); err != nil { 1912 err = handleNoOp(err) 1913 break 1914 } 1915 if validi { 1916 if a[i] < 0 { 1917 a[i] = -a[i] 1918 } 1919 } 1920 } 1921 return 1922 } 1923 1924 func AbsIterI64(a []int64, ait Iterator) (err error) { 1925 var i int 1926 var validi bool 1927 for { 1928 if i, validi, err = ait.NextValidity(); err != nil { 1929 err = handleNoOp(err) 1930 break 1931 } 1932 if validi { 1933 if a[i] < 0 { 1934 a[i] = -a[i] 1935 } 1936 } 1937 } 1938 return 1939 } 1940 1941 func AbsIterF32(a []float32, ait Iterator) (err error) { 1942 var i int 1943 var validi bool 1944 for { 1945 if i, validi, err = ait.NextValidity(); err != nil { 1946 err = handleNoOp(err) 1947 break 1948 } 1949 if validi { 1950 a[i] = math32.Abs(a[i]) 1951 } 1952 } 1953 return 1954 } 1955 1956 func AbsIterF64(a []float64, ait Iterator) (err error) { 1957 var i int 1958 var validi bool 1959 for { 1960 if i, validi, err = ait.NextValidity(); err != nil { 1961 err = handleNoOp(err) 1962 break 1963 } 1964 if validi { 1965 a[i] = math.Abs(a[i]) 1966 } 1967 } 1968 return 1969 } 1970 1971 func SignIterI(a []int, ait Iterator) (err error) { 1972 var i int 1973 var validi bool 1974 for { 1975 if i, validi, err = ait.NextValidity(); err != nil { 1976 err = handleNoOp(err) 1977 break 1978 } 1979 if validi { 1980 if a[i] < 0 { 1981 a[i] = -1 1982 } else if a[i] > 0 { 1983 a[i] = 1 1984 } 1985 } 1986 } 1987 return 1988 } 1989 1990 func SignIterI8(a []int8, ait Iterator) (err error) { 1991 var i int 1992 var validi bool 1993 for { 1994 if i, validi, err = ait.NextValidity(); err != nil { 1995 err = handleNoOp(err) 1996 break 1997 } 1998 if validi { 1999 if a[i] < 0 { 2000 a[i] = -1 2001 } else if a[i] > 0 { 2002 a[i] = 1 2003 } 2004 } 2005 } 2006 return 2007 } 2008 2009 func SignIterI16(a []int16, ait Iterator) (err error) { 2010 var i int 2011 var validi bool 2012 for { 2013 if i, validi, err = ait.NextValidity(); err != nil { 2014 err = handleNoOp(err) 2015 break 2016 } 2017 if validi { 2018 if a[i] < 0 { 2019 a[i] = -1 2020 } else if a[i] > 0 { 2021 a[i] = 1 2022 } 2023 } 2024 } 2025 return 2026 } 2027 2028 func SignIterI32(a []int32, ait Iterator) (err error) { 2029 var i int 2030 var validi bool 2031 for { 2032 if i, validi, err = ait.NextValidity(); err != nil { 2033 err = handleNoOp(err) 2034 break 2035 } 2036 if validi { 2037 if a[i] < 0 { 2038 a[i] = -1 2039 } else if a[i] > 0 { 2040 a[i] = 1 2041 } 2042 } 2043 } 2044 return 2045 } 2046 2047 func SignIterI64(a []int64, ait Iterator) (err error) { 2048 var i int 2049 var validi bool 2050 for { 2051 if i, validi, err = ait.NextValidity(); err != nil { 2052 err = handleNoOp(err) 2053 break 2054 } 2055 if validi { 2056 if a[i] < 0 { 2057 a[i] = -1 2058 } else if a[i] > 0 { 2059 a[i] = 1 2060 } 2061 } 2062 } 2063 return 2064 } 2065 2066 func SignIterF32(a []float32, ait Iterator) (err error) { 2067 var i int 2068 var validi bool 2069 for { 2070 if i, validi, err = ait.NextValidity(); err != nil { 2071 err = handleNoOp(err) 2072 break 2073 } 2074 if validi { 2075 if a[i] < 0 { 2076 a[i] = -1 2077 } else if a[i] > 0 { 2078 a[i] = 1 2079 } 2080 } 2081 } 2082 return 2083 } 2084 2085 func SignIterF64(a []float64, ait Iterator) (err error) { 2086 var i int 2087 var validi bool 2088 for { 2089 if i, validi, err = ait.NextValidity(); err != nil { 2090 err = handleNoOp(err) 2091 break 2092 } 2093 if validi { 2094 if a[i] < 0 { 2095 a[i] = -1 2096 } else if a[i] > 0 { 2097 a[i] = 1 2098 } 2099 } 2100 } 2101 return 2102 } 2103 2104 func ClampI(a []int, min int, max int) { 2105 for i := range a { 2106 if a[i] < min { 2107 a[i] = min 2108 continue 2109 } 2110 if a[i] > max { 2111 a[i] = max 2112 } 2113 } 2114 } 2115 2116 func ClampI8(a []int8, min int8, max int8) { 2117 for i := range a { 2118 if a[i] < min { 2119 a[i] = min 2120 continue 2121 } 2122 if a[i] > max { 2123 a[i] = max 2124 } 2125 } 2126 } 2127 2128 func ClampI16(a []int16, min int16, max int16) { 2129 for i := range a { 2130 if a[i] < min { 2131 a[i] = min 2132 continue 2133 } 2134 if a[i] > max { 2135 a[i] = max 2136 } 2137 } 2138 } 2139 2140 func ClampI32(a []int32, min int32, max int32) { 2141 for i := range a { 2142 if a[i] < min { 2143 a[i] = min 2144 continue 2145 } 2146 if a[i] > max { 2147 a[i] = max 2148 } 2149 } 2150 } 2151 2152 func ClampI64(a []int64, min int64, max int64) { 2153 for i := range a { 2154 if a[i] < min { 2155 a[i] = min 2156 continue 2157 } 2158 if a[i] > max { 2159 a[i] = max 2160 } 2161 } 2162 } 2163 2164 func ClampU(a []uint, min uint, max uint) { 2165 for i := range a { 2166 if a[i] < min { 2167 a[i] = min 2168 continue 2169 } 2170 if a[i] > max { 2171 a[i] = max 2172 } 2173 } 2174 } 2175 2176 func ClampU8(a []uint8, min uint8, max uint8) { 2177 for i := range a { 2178 if a[i] < min { 2179 a[i] = min 2180 continue 2181 } 2182 if a[i] > max { 2183 a[i] = max 2184 } 2185 } 2186 } 2187 2188 func ClampU16(a []uint16, min uint16, max uint16) { 2189 for i := range a { 2190 if a[i] < min { 2191 a[i] = min 2192 continue 2193 } 2194 if a[i] > max { 2195 a[i] = max 2196 } 2197 } 2198 } 2199 2200 func ClampU32(a []uint32, min uint32, max uint32) { 2201 for i := range a { 2202 if a[i] < min { 2203 a[i] = min 2204 continue 2205 } 2206 if a[i] > max { 2207 a[i] = max 2208 } 2209 } 2210 } 2211 2212 func ClampU64(a []uint64, min uint64, max uint64) { 2213 for i := range a { 2214 if a[i] < min { 2215 a[i] = min 2216 continue 2217 } 2218 if a[i] > max { 2219 a[i] = max 2220 } 2221 } 2222 } 2223 2224 func ClampF32(a []float32, min float32, max float32) { 2225 for i := range a { 2226 if a[i] < min || math32.IsInf(a[i], -1) { 2227 a[i] = min 2228 continue 2229 } 2230 if a[i] > max || math32.IsInf(a[i], 1) { 2231 a[i] = max 2232 } 2233 } 2234 } 2235 2236 func ClampF64(a []float64, min float64, max float64) { 2237 for i := range a { 2238 if a[i] < min || math.IsInf(a[i], -1) { 2239 a[i] = min 2240 continue 2241 } 2242 if a[i] > max || math.IsInf(a[i], 1) { 2243 a[i] = max 2244 } 2245 } 2246 } 2247 2248 func ClampIterI(a []int, ait Iterator, min int, max int) (err error) { 2249 var i int 2250 var validi bool 2251 for { 2252 if i, validi, err = ait.NextValidity(); err != nil { 2253 err = handleNoOp(err) 2254 break 2255 } 2256 if validi { 2257 if a[i] < min { 2258 a[i] = min 2259 continue 2260 } 2261 if a[i] > max { 2262 a[i] = max 2263 } 2264 } 2265 } 2266 return 2267 } 2268 2269 func ClampIterI8(a []int8, ait Iterator, min int8, max int8) (err error) { 2270 var i int 2271 var validi bool 2272 for { 2273 if i, validi, err = ait.NextValidity(); err != nil { 2274 err = handleNoOp(err) 2275 break 2276 } 2277 if validi { 2278 if a[i] < min { 2279 a[i] = min 2280 continue 2281 } 2282 if a[i] > max { 2283 a[i] = max 2284 } 2285 } 2286 } 2287 return 2288 } 2289 2290 func ClampIterI16(a []int16, ait Iterator, min int16, max int16) (err error) { 2291 var i int 2292 var validi bool 2293 for { 2294 if i, validi, err = ait.NextValidity(); err != nil { 2295 err = handleNoOp(err) 2296 break 2297 } 2298 if validi { 2299 if a[i] < min { 2300 a[i] = min 2301 continue 2302 } 2303 if a[i] > max { 2304 a[i] = max 2305 } 2306 } 2307 } 2308 return 2309 } 2310 2311 func ClampIterI32(a []int32, ait Iterator, min int32, max int32) (err error) { 2312 var i int 2313 var validi bool 2314 for { 2315 if i, validi, err = ait.NextValidity(); err != nil { 2316 err = handleNoOp(err) 2317 break 2318 } 2319 if validi { 2320 if a[i] < min { 2321 a[i] = min 2322 continue 2323 } 2324 if a[i] > max { 2325 a[i] = max 2326 } 2327 } 2328 } 2329 return 2330 } 2331 2332 func ClampIterI64(a []int64, ait Iterator, min int64, max int64) (err error) { 2333 var i int 2334 var validi bool 2335 for { 2336 if i, validi, err = ait.NextValidity(); err != nil { 2337 err = handleNoOp(err) 2338 break 2339 } 2340 if validi { 2341 if a[i] < min { 2342 a[i] = min 2343 continue 2344 } 2345 if a[i] > max { 2346 a[i] = max 2347 } 2348 } 2349 } 2350 return 2351 } 2352 2353 func ClampIterU(a []uint, ait Iterator, min uint, max uint) (err error) { 2354 var i int 2355 var validi bool 2356 for { 2357 if i, validi, err = ait.NextValidity(); err != nil { 2358 err = handleNoOp(err) 2359 break 2360 } 2361 if validi { 2362 if a[i] < min { 2363 a[i] = min 2364 continue 2365 } 2366 if a[i] > max { 2367 a[i] = max 2368 } 2369 } 2370 } 2371 return 2372 } 2373 2374 func ClampIterU8(a []uint8, ait Iterator, min uint8, max uint8) (err error) { 2375 var i int 2376 var validi bool 2377 for { 2378 if i, validi, err = ait.NextValidity(); err != nil { 2379 err = handleNoOp(err) 2380 break 2381 } 2382 if validi { 2383 if a[i] < min { 2384 a[i] = min 2385 continue 2386 } 2387 if a[i] > max { 2388 a[i] = max 2389 } 2390 } 2391 } 2392 return 2393 } 2394 2395 func ClampIterU16(a []uint16, ait Iterator, min uint16, max uint16) (err error) { 2396 var i int 2397 var validi bool 2398 for { 2399 if i, validi, err = ait.NextValidity(); err != nil { 2400 err = handleNoOp(err) 2401 break 2402 } 2403 if validi { 2404 if a[i] < min { 2405 a[i] = min 2406 continue 2407 } 2408 if a[i] > max { 2409 a[i] = max 2410 } 2411 } 2412 } 2413 return 2414 } 2415 2416 func ClampIterU32(a []uint32, ait Iterator, min uint32, max uint32) (err error) { 2417 var i int 2418 var validi bool 2419 for { 2420 if i, validi, err = ait.NextValidity(); err != nil { 2421 err = handleNoOp(err) 2422 break 2423 } 2424 if validi { 2425 if a[i] < min { 2426 a[i] = min 2427 continue 2428 } 2429 if a[i] > max { 2430 a[i] = max 2431 } 2432 } 2433 } 2434 return 2435 } 2436 2437 func ClampIterU64(a []uint64, ait Iterator, min uint64, max uint64) (err error) { 2438 var i int 2439 var validi bool 2440 for { 2441 if i, validi, err = ait.NextValidity(); err != nil { 2442 err = handleNoOp(err) 2443 break 2444 } 2445 if validi { 2446 if a[i] < min { 2447 a[i] = min 2448 continue 2449 } 2450 if a[i] > max { 2451 a[i] = max 2452 } 2453 } 2454 } 2455 return 2456 } 2457 2458 func ClampIterF32(a []float32, ait Iterator, min float32, max float32) (err error) { 2459 var i int 2460 var validi bool 2461 for { 2462 if i, validi, err = ait.NextValidity(); err != nil { 2463 err = handleNoOp(err) 2464 break 2465 } 2466 if validi { 2467 if a[i] < min || math32.IsInf(a[i], -1) { 2468 a[i] = min 2469 continue 2470 } 2471 if a[i] > max || math32.IsInf(a[i], 1) { 2472 a[i] = max 2473 } 2474 } 2475 } 2476 return 2477 } 2478 2479 func ClampIterF64(a []float64, ait Iterator, min float64, max float64) (err error) { 2480 var i int 2481 var validi bool 2482 for { 2483 if i, validi, err = ait.NextValidity(); err != nil { 2484 err = handleNoOp(err) 2485 break 2486 } 2487 if validi { 2488 if a[i] < min || math.IsInf(a[i], -1) { 2489 a[i] = min 2490 continue 2491 } 2492 if a[i] > max || math.IsInf(a[i], 1) { 2493 a[i] = max 2494 } 2495 } 2496 } 2497 return 2498 }