github.com/wzzhu/tensor@v0.9.24/internal/execution/generic_minmax.go (about) 1 // Code generated by genlib2. DO NOT EDIT. 2 3 package execution 4 5 func VecMinI(a, b []int) { 6 a = a[:] 7 b = b[:len(a)] 8 for i, v := range a { 9 bv := b[i] 10 if bv < v { 11 a[i] = bv 12 } 13 } 14 } 15 16 func MinSVI(a int, b []int) { 17 for i := range b { 18 if a < b[i] { 19 b[i] = a 20 } 21 } 22 } 23 24 func MinVSI(a []int, b int) { 25 for i := range a { 26 if b < a[i] { 27 a[i] = b 28 } 29 } 30 } 31 32 func VecMaxI(a, b []int) { 33 a = a[:] 34 b = b[:len(a)] 35 for i, v := range a { 36 bv := b[i] 37 if bv > v { 38 a[i] = bv 39 } 40 } 41 } 42 43 func MaxSVI(a int, b []int) { 44 for i := range b { 45 if a > b[i] { 46 b[i] = a 47 } 48 } 49 } 50 51 func MaxVSI(a []int, b int) { 52 for i := range a { 53 if b > a[i] { 54 a[i] = b 55 } 56 } 57 } 58 func VecMinI8(a, b []int8) { 59 a = a[:] 60 b = b[:len(a)] 61 for i, v := range a { 62 bv := b[i] 63 if bv < v { 64 a[i] = bv 65 } 66 } 67 } 68 69 func MinSVI8(a int8, b []int8) { 70 for i := range b { 71 if a < b[i] { 72 b[i] = a 73 } 74 } 75 } 76 77 func MinVSI8(a []int8, b int8) { 78 for i := range a { 79 if b < a[i] { 80 a[i] = b 81 } 82 } 83 } 84 85 func VecMaxI8(a, b []int8) { 86 a = a[:] 87 b = b[:len(a)] 88 for i, v := range a { 89 bv := b[i] 90 if bv > v { 91 a[i] = bv 92 } 93 } 94 } 95 96 func MaxSVI8(a int8, b []int8) { 97 for i := range b { 98 if a > b[i] { 99 b[i] = a 100 } 101 } 102 } 103 104 func MaxVSI8(a []int8, b int8) { 105 for i := range a { 106 if b > a[i] { 107 a[i] = b 108 } 109 } 110 } 111 func VecMinI16(a, b []int16) { 112 a = a[:] 113 b = b[:len(a)] 114 for i, v := range a { 115 bv := b[i] 116 if bv < v { 117 a[i] = bv 118 } 119 } 120 } 121 122 func MinSVI16(a int16, b []int16) { 123 for i := range b { 124 if a < b[i] { 125 b[i] = a 126 } 127 } 128 } 129 130 func MinVSI16(a []int16, b int16) { 131 for i := range a { 132 if b < a[i] { 133 a[i] = b 134 } 135 } 136 } 137 138 func VecMaxI16(a, b []int16) { 139 a = a[:] 140 b = b[:len(a)] 141 for i, v := range a { 142 bv := b[i] 143 if bv > v { 144 a[i] = bv 145 } 146 } 147 } 148 149 func MaxSVI16(a int16, b []int16) { 150 for i := range b { 151 if a > b[i] { 152 b[i] = a 153 } 154 } 155 } 156 157 func MaxVSI16(a []int16, b int16) { 158 for i := range a { 159 if b > a[i] { 160 a[i] = b 161 } 162 } 163 } 164 func VecMinI32(a, b []int32) { 165 a = a[:] 166 b = b[:len(a)] 167 for i, v := range a { 168 bv := b[i] 169 if bv < v { 170 a[i] = bv 171 } 172 } 173 } 174 175 func MinSVI32(a int32, b []int32) { 176 for i := range b { 177 if a < b[i] { 178 b[i] = a 179 } 180 } 181 } 182 183 func MinVSI32(a []int32, b int32) { 184 for i := range a { 185 if b < a[i] { 186 a[i] = b 187 } 188 } 189 } 190 191 func VecMaxI32(a, b []int32) { 192 a = a[:] 193 b = b[:len(a)] 194 for i, v := range a { 195 bv := b[i] 196 if bv > v { 197 a[i] = bv 198 } 199 } 200 } 201 202 func MaxSVI32(a int32, b []int32) { 203 for i := range b { 204 if a > b[i] { 205 b[i] = a 206 } 207 } 208 } 209 210 func MaxVSI32(a []int32, b int32) { 211 for i := range a { 212 if b > a[i] { 213 a[i] = b 214 } 215 } 216 } 217 func VecMinI64(a, b []int64) { 218 a = a[:] 219 b = b[:len(a)] 220 for i, v := range a { 221 bv := b[i] 222 if bv < v { 223 a[i] = bv 224 } 225 } 226 } 227 228 func MinSVI64(a int64, b []int64) { 229 for i := range b { 230 if a < b[i] { 231 b[i] = a 232 } 233 } 234 } 235 236 func MinVSI64(a []int64, b int64) { 237 for i := range a { 238 if b < a[i] { 239 a[i] = b 240 } 241 } 242 } 243 244 func VecMaxI64(a, b []int64) { 245 a = a[:] 246 b = b[:len(a)] 247 for i, v := range a { 248 bv := b[i] 249 if bv > v { 250 a[i] = bv 251 } 252 } 253 } 254 255 func MaxSVI64(a int64, b []int64) { 256 for i := range b { 257 if a > b[i] { 258 b[i] = a 259 } 260 } 261 } 262 263 func MaxVSI64(a []int64, b int64) { 264 for i := range a { 265 if b > a[i] { 266 a[i] = b 267 } 268 } 269 } 270 func VecMinU(a, b []uint) { 271 a = a[:] 272 b = b[:len(a)] 273 for i, v := range a { 274 bv := b[i] 275 if bv < v { 276 a[i] = bv 277 } 278 } 279 } 280 281 func MinSVU(a uint, b []uint) { 282 for i := range b { 283 if a < b[i] { 284 b[i] = a 285 } 286 } 287 } 288 289 func MinVSU(a []uint, b uint) { 290 for i := range a { 291 if b < a[i] { 292 a[i] = b 293 } 294 } 295 } 296 297 func VecMaxU(a, b []uint) { 298 a = a[:] 299 b = b[:len(a)] 300 for i, v := range a { 301 bv := b[i] 302 if bv > v { 303 a[i] = bv 304 } 305 } 306 } 307 308 func MaxSVU(a uint, b []uint) { 309 for i := range b { 310 if a > b[i] { 311 b[i] = a 312 } 313 } 314 } 315 316 func MaxVSU(a []uint, b uint) { 317 for i := range a { 318 if b > a[i] { 319 a[i] = b 320 } 321 } 322 } 323 func VecMinU8(a, b []uint8) { 324 a = a[:] 325 b = b[:len(a)] 326 for i, v := range a { 327 bv := b[i] 328 if bv < v { 329 a[i] = bv 330 } 331 } 332 } 333 334 func MinSVU8(a uint8, b []uint8) { 335 for i := range b { 336 if a < b[i] { 337 b[i] = a 338 } 339 } 340 } 341 342 func MinVSU8(a []uint8, b uint8) { 343 for i := range a { 344 if b < a[i] { 345 a[i] = b 346 } 347 } 348 } 349 350 func VecMaxU8(a, b []uint8) { 351 a = a[:] 352 b = b[:len(a)] 353 for i, v := range a { 354 bv := b[i] 355 if bv > v { 356 a[i] = bv 357 } 358 } 359 } 360 361 func MaxSVU8(a uint8, b []uint8) { 362 for i := range b { 363 if a > b[i] { 364 b[i] = a 365 } 366 } 367 } 368 369 func MaxVSU8(a []uint8, b uint8) { 370 for i := range a { 371 if b > a[i] { 372 a[i] = b 373 } 374 } 375 } 376 func VecMinU16(a, b []uint16) { 377 a = a[:] 378 b = b[:len(a)] 379 for i, v := range a { 380 bv := b[i] 381 if bv < v { 382 a[i] = bv 383 } 384 } 385 } 386 387 func MinSVU16(a uint16, b []uint16) { 388 for i := range b { 389 if a < b[i] { 390 b[i] = a 391 } 392 } 393 } 394 395 func MinVSU16(a []uint16, b uint16) { 396 for i := range a { 397 if b < a[i] { 398 a[i] = b 399 } 400 } 401 } 402 403 func VecMaxU16(a, b []uint16) { 404 a = a[:] 405 b = b[:len(a)] 406 for i, v := range a { 407 bv := b[i] 408 if bv > v { 409 a[i] = bv 410 } 411 } 412 } 413 414 func MaxSVU16(a uint16, b []uint16) { 415 for i := range b { 416 if a > b[i] { 417 b[i] = a 418 } 419 } 420 } 421 422 func MaxVSU16(a []uint16, b uint16) { 423 for i := range a { 424 if b > a[i] { 425 a[i] = b 426 } 427 } 428 } 429 func VecMinU32(a, b []uint32) { 430 a = a[:] 431 b = b[:len(a)] 432 for i, v := range a { 433 bv := b[i] 434 if bv < v { 435 a[i] = bv 436 } 437 } 438 } 439 440 func MinSVU32(a uint32, b []uint32) { 441 for i := range b { 442 if a < b[i] { 443 b[i] = a 444 } 445 } 446 } 447 448 func MinVSU32(a []uint32, b uint32) { 449 for i := range a { 450 if b < a[i] { 451 a[i] = b 452 } 453 } 454 } 455 456 func VecMaxU32(a, b []uint32) { 457 a = a[:] 458 b = b[:len(a)] 459 for i, v := range a { 460 bv := b[i] 461 if bv > v { 462 a[i] = bv 463 } 464 } 465 } 466 467 func MaxSVU32(a uint32, b []uint32) { 468 for i := range b { 469 if a > b[i] { 470 b[i] = a 471 } 472 } 473 } 474 475 func MaxVSU32(a []uint32, b uint32) { 476 for i := range a { 477 if b > a[i] { 478 a[i] = b 479 } 480 } 481 } 482 func VecMinU64(a, b []uint64) { 483 a = a[:] 484 b = b[:len(a)] 485 for i, v := range a { 486 bv := b[i] 487 if bv < v { 488 a[i] = bv 489 } 490 } 491 } 492 493 func MinSVU64(a uint64, b []uint64) { 494 for i := range b { 495 if a < b[i] { 496 b[i] = a 497 } 498 } 499 } 500 501 func MinVSU64(a []uint64, b uint64) { 502 for i := range a { 503 if b < a[i] { 504 a[i] = b 505 } 506 } 507 } 508 509 func VecMaxU64(a, b []uint64) { 510 a = a[:] 511 b = b[:len(a)] 512 for i, v := range a { 513 bv := b[i] 514 if bv > v { 515 a[i] = bv 516 } 517 } 518 } 519 520 func MaxSVU64(a uint64, b []uint64) { 521 for i := range b { 522 if a > b[i] { 523 b[i] = a 524 } 525 } 526 } 527 528 func MaxVSU64(a []uint64, b uint64) { 529 for i := range a { 530 if b > a[i] { 531 a[i] = b 532 } 533 } 534 } 535 func VecMinF32(a, b []float32) { 536 a = a[:] 537 b = b[:len(a)] 538 for i, v := range a { 539 bv := b[i] 540 if bv < v { 541 a[i] = bv 542 } 543 } 544 } 545 546 func MinSVF32(a float32, b []float32) { 547 for i := range b { 548 if a < b[i] { 549 b[i] = a 550 } 551 } 552 } 553 554 func MinVSF32(a []float32, b float32) { 555 for i := range a { 556 if b < a[i] { 557 a[i] = b 558 } 559 } 560 } 561 562 func VecMaxF32(a, b []float32) { 563 a = a[:] 564 b = b[:len(a)] 565 for i, v := range a { 566 bv := b[i] 567 if bv > v { 568 a[i] = bv 569 } 570 } 571 } 572 573 func MaxSVF32(a float32, b []float32) { 574 for i := range b { 575 if a > b[i] { 576 b[i] = a 577 } 578 } 579 } 580 581 func MaxVSF32(a []float32, b float32) { 582 for i := range a { 583 if b > a[i] { 584 a[i] = b 585 } 586 } 587 } 588 func VecMinF64(a, b []float64) { 589 a = a[:] 590 b = b[:len(a)] 591 for i, v := range a { 592 bv := b[i] 593 if bv < v { 594 a[i] = bv 595 } 596 } 597 } 598 599 func MinSVF64(a float64, b []float64) { 600 for i := range b { 601 if a < b[i] { 602 b[i] = a 603 } 604 } 605 } 606 607 func MinVSF64(a []float64, b float64) { 608 for i := range a { 609 if b < a[i] { 610 a[i] = b 611 } 612 } 613 } 614 615 func VecMaxF64(a, b []float64) { 616 a = a[:] 617 b = b[:len(a)] 618 for i, v := range a { 619 bv := b[i] 620 if bv > v { 621 a[i] = bv 622 } 623 } 624 } 625 626 func MaxSVF64(a float64, b []float64) { 627 for i := range b { 628 if a > b[i] { 629 b[i] = a 630 } 631 } 632 } 633 634 func MaxVSF64(a []float64, b float64) { 635 for i := range a { 636 if b > a[i] { 637 a[i] = b 638 } 639 } 640 } 641 func VecMinStr(a, b []string) { 642 a = a[:] 643 b = b[:len(a)] 644 for i, v := range a { 645 bv := b[i] 646 if bv < v { 647 a[i] = bv 648 } 649 } 650 } 651 652 func MinSVStr(a string, b []string) { 653 for i := range b { 654 if a < b[i] { 655 b[i] = a 656 } 657 } 658 } 659 660 func MinVSStr(a []string, b string) { 661 for i := range a { 662 if b < a[i] { 663 a[i] = b 664 } 665 } 666 } 667 668 func VecMaxStr(a, b []string) { 669 a = a[:] 670 b = b[:len(a)] 671 for i, v := range a { 672 bv := b[i] 673 if bv > v { 674 a[i] = bv 675 } 676 } 677 } 678 679 func MaxSVStr(a string, b []string) { 680 for i := range b { 681 if a > b[i] { 682 b[i] = a 683 } 684 } 685 } 686 687 func MaxVSStr(a []string, b string) { 688 for i := range a { 689 if b > a[i] { 690 a[i] = b 691 } 692 } 693 } 694 func MinI(a, b int) (c int) { 695 if a < b { 696 return a 697 } 698 return b 699 } 700 701 func MaxI(a, b int) (c int) { 702 if a > b { 703 return a 704 } 705 return b 706 } 707 func MinI8(a, b int8) (c int8) { 708 if a < b { 709 return a 710 } 711 return b 712 } 713 714 func MaxI8(a, b int8) (c int8) { 715 if a > b { 716 return a 717 } 718 return b 719 } 720 func MinI16(a, b int16) (c int16) { 721 if a < b { 722 return a 723 } 724 return b 725 } 726 727 func MaxI16(a, b int16) (c int16) { 728 if a > b { 729 return a 730 } 731 return b 732 } 733 func MinI32(a, b int32) (c int32) { 734 if a < b { 735 return a 736 } 737 return b 738 } 739 740 func MaxI32(a, b int32) (c int32) { 741 if a > b { 742 return a 743 } 744 return b 745 } 746 func MinI64(a, b int64) (c int64) { 747 if a < b { 748 return a 749 } 750 return b 751 } 752 753 func MaxI64(a, b int64) (c int64) { 754 if a > b { 755 return a 756 } 757 return b 758 } 759 func MinU(a, b uint) (c uint) { 760 if a < b { 761 return a 762 } 763 return b 764 } 765 766 func MaxU(a, b uint) (c uint) { 767 if a > b { 768 return a 769 } 770 return b 771 } 772 func MinU8(a, b uint8) (c uint8) { 773 if a < b { 774 return a 775 } 776 return b 777 } 778 779 func MaxU8(a, b uint8) (c uint8) { 780 if a > b { 781 return a 782 } 783 return b 784 } 785 func MinU16(a, b uint16) (c uint16) { 786 if a < b { 787 return a 788 } 789 return b 790 } 791 792 func MaxU16(a, b uint16) (c uint16) { 793 if a > b { 794 return a 795 } 796 return b 797 } 798 func MinU32(a, b uint32) (c uint32) { 799 if a < b { 800 return a 801 } 802 return b 803 } 804 805 func MaxU32(a, b uint32) (c uint32) { 806 if a > b { 807 return a 808 } 809 return b 810 } 811 func MinU64(a, b uint64) (c uint64) { 812 if a < b { 813 return a 814 } 815 return b 816 } 817 818 func MaxU64(a, b uint64) (c uint64) { 819 if a > b { 820 return a 821 } 822 return b 823 } 824 func MinF32(a, b float32) (c float32) { 825 if a < b { 826 return a 827 } 828 return b 829 } 830 831 func MaxF32(a, b float32) (c float32) { 832 if a > b { 833 return a 834 } 835 return b 836 } 837 func MinF64(a, b float64) (c float64) { 838 if a < b { 839 return a 840 } 841 return b 842 } 843 844 func MaxF64(a, b float64) (c float64) { 845 if a > b { 846 return a 847 } 848 return b 849 } 850 func MinStr(a, b string) (c string) { 851 if a < b { 852 return a 853 } 854 return b 855 } 856 857 func MaxStr(a, b string) (c string) { 858 if a > b { 859 return a 860 } 861 return b 862 } 863 func MinIterSVI(a int, b []int, bit Iterator) (err error) { 864 var i int 865 var validi bool 866 for { 867 if i, validi, err = bit.NextValidity(); err != nil { 868 err = handleNoOp(err) 869 break 870 } 871 if validi { 872 if a < b[i] { 873 b[i] = a 874 } 875 } 876 } 877 return 878 } 879 880 func MinIterVSI(a []int, b int, ait Iterator) (err error) { 881 var i int 882 var validi bool 883 for { 884 if i, validi, err = ait.NextValidity(); err != nil { 885 err = handleNoOp(err) 886 break 887 } 888 if validi { 889 if b < a[i] { 890 a[i] = b 891 } 892 } 893 } 894 return 895 } 896 897 func VecMinIterI(a, b []int, ait, bit Iterator) (err error) { 898 var i, j int 899 var validi, validj bool 900 for { 901 if i, validi, err = ait.NextValidity(); err != nil { 902 err = handleNoOp(err) 903 break 904 } 905 if j, validj, err = bit.NextValidity(); err != nil { 906 err = handleNoOp(err) 907 break 908 } 909 if validi && validj { 910 if b[j] < a[i] { 911 a[i] = b[j] 912 } 913 } 914 } 915 return 916 } 917 918 func MaxIterSVI(a int, b []int, bit Iterator) (err error) { 919 var i int 920 var validi bool 921 for { 922 if i, validi, err = bit.NextValidity(); err != nil { 923 err = handleNoOp(err) 924 break 925 } 926 if validi { 927 if a > b[i] { 928 b[i] = a 929 } 930 } 931 } 932 return 933 } 934 935 func MaxIterVSI(a []int, b int, ait Iterator) (err error) { 936 var i int 937 var validi bool 938 for { 939 if i, validi, err = ait.NextValidity(); err != nil { 940 err = handleNoOp(err) 941 break 942 } 943 if validi { 944 if b > a[i] { 945 a[i] = b 946 } 947 } 948 } 949 return 950 } 951 952 func VecMaxIterI(a, b []int, ait, bit Iterator) (err error) { 953 var i, j int 954 var validi, validj bool 955 for { 956 if i, validi, err = ait.NextValidity(); err != nil { 957 err = handleNoOp(err) 958 break 959 } 960 if j, validj, err = bit.NextValidity(); err != nil { 961 err = handleNoOp(err) 962 break 963 } 964 if validi && validj { 965 if b[j] > a[i] { 966 a[i] = b[j] 967 } 968 } 969 } 970 return 971 } 972 973 func MinIterSVI8(a int8, b []int8, bit Iterator) (err error) { 974 var i int 975 var validi bool 976 for { 977 if i, validi, err = bit.NextValidity(); err != nil { 978 err = handleNoOp(err) 979 break 980 } 981 if validi { 982 if a < b[i] { 983 b[i] = a 984 } 985 } 986 } 987 return 988 } 989 990 func MinIterVSI8(a []int8, b int8, ait Iterator) (err error) { 991 var i int 992 var validi bool 993 for { 994 if i, validi, err = ait.NextValidity(); err != nil { 995 err = handleNoOp(err) 996 break 997 } 998 if validi { 999 if b < a[i] { 1000 a[i] = b 1001 } 1002 } 1003 } 1004 return 1005 } 1006 1007 func VecMinIterI8(a, b []int8, ait, bit Iterator) (err error) { 1008 var i, j int 1009 var validi, validj bool 1010 for { 1011 if i, validi, err = ait.NextValidity(); err != nil { 1012 err = handleNoOp(err) 1013 break 1014 } 1015 if j, validj, err = bit.NextValidity(); err != nil { 1016 err = handleNoOp(err) 1017 break 1018 } 1019 if validi && validj { 1020 if b[j] < a[i] { 1021 a[i] = b[j] 1022 } 1023 } 1024 } 1025 return 1026 } 1027 1028 func MaxIterSVI8(a int8, b []int8, bit Iterator) (err error) { 1029 var i int 1030 var validi bool 1031 for { 1032 if i, validi, err = bit.NextValidity(); err != nil { 1033 err = handleNoOp(err) 1034 break 1035 } 1036 if validi { 1037 if a > b[i] { 1038 b[i] = a 1039 } 1040 } 1041 } 1042 return 1043 } 1044 1045 func MaxIterVSI8(a []int8, b int8, ait Iterator) (err error) { 1046 var i int 1047 var validi bool 1048 for { 1049 if i, validi, err = ait.NextValidity(); err != nil { 1050 err = handleNoOp(err) 1051 break 1052 } 1053 if validi { 1054 if b > a[i] { 1055 a[i] = b 1056 } 1057 } 1058 } 1059 return 1060 } 1061 1062 func VecMaxIterI8(a, b []int8, ait, bit Iterator) (err error) { 1063 var i, j int 1064 var validi, validj bool 1065 for { 1066 if i, validi, err = ait.NextValidity(); err != nil { 1067 err = handleNoOp(err) 1068 break 1069 } 1070 if j, validj, err = bit.NextValidity(); err != nil { 1071 err = handleNoOp(err) 1072 break 1073 } 1074 if validi && validj { 1075 if b[j] > a[i] { 1076 a[i] = b[j] 1077 } 1078 } 1079 } 1080 return 1081 } 1082 1083 func MinIterSVI16(a int16, b []int16, bit Iterator) (err error) { 1084 var i int 1085 var validi bool 1086 for { 1087 if i, validi, err = bit.NextValidity(); err != nil { 1088 err = handleNoOp(err) 1089 break 1090 } 1091 if validi { 1092 if a < b[i] { 1093 b[i] = a 1094 } 1095 } 1096 } 1097 return 1098 } 1099 1100 func MinIterVSI16(a []int16, b int16, ait Iterator) (err error) { 1101 var i int 1102 var validi bool 1103 for { 1104 if i, validi, err = ait.NextValidity(); err != nil { 1105 err = handleNoOp(err) 1106 break 1107 } 1108 if validi { 1109 if b < a[i] { 1110 a[i] = b 1111 } 1112 } 1113 } 1114 return 1115 } 1116 1117 func VecMinIterI16(a, b []int16, ait, bit Iterator) (err error) { 1118 var i, j int 1119 var validi, validj bool 1120 for { 1121 if i, validi, err = ait.NextValidity(); err != nil { 1122 err = handleNoOp(err) 1123 break 1124 } 1125 if j, validj, err = bit.NextValidity(); err != nil { 1126 err = handleNoOp(err) 1127 break 1128 } 1129 if validi && validj { 1130 if b[j] < a[i] { 1131 a[i] = b[j] 1132 } 1133 } 1134 } 1135 return 1136 } 1137 1138 func MaxIterSVI16(a int16, b []int16, bit Iterator) (err error) { 1139 var i int 1140 var validi bool 1141 for { 1142 if i, validi, err = bit.NextValidity(); err != nil { 1143 err = handleNoOp(err) 1144 break 1145 } 1146 if validi { 1147 if a > b[i] { 1148 b[i] = a 1149 } 1150 } 1151 } 1152 return 1153 } 1154 1155 func MaxIterVSI16(a []int16, b int16, ait Iterator) (err error) { 1156 var i int 1157 var validi bool 1158 for { 1159 if i, validi, err = ait.NextValidity(); err != nil { 1160 err = handleNoOp(err) 1161 break 1162 } 1163 if validi { 1164 if b > a[i] { 1165 a[i] = b 1166 } 1167 } 1168 } 1169 return 1170 } 1171 1172 func VecMaxIterI16(a, b []int16, ait, bit Iterator) (err error) { 1173 var i, j int 1174 var validi, validj bool 1175 for { 1176 if i, validi, err = ait.NextValidity(); err != nil { 1177 err = handleNoOp(err) 1178 break 1179 } 1180 if j, validj, err = bit.NextValidity(); err != nil { 1181 err = handleNoOp(err) 1182 break 1183 } 1184 if validi && validj { 1185 if b[j] > a[i] { 1186 a[i] = b[j] 1187 } 1188 } 1189 } 1190 return 1191 } 1192 1193 func MinIterSVI32(a int32, b []int32, bit Iterator) (err error) { 1194 var i int 1195 var validi bool 1196 for { 1197 if i, validi, err = bit.NextValidity(); err != nil { 1198 err = handleNoOp(err) 1199 break 1200 } 1201 if validi { 1202 if a < b[i] { 1203 b[i] = a 1204 } 1205 } 1206 } 1207 return 1208 } 1209 1210 func MinIterVSI32(a []int32, b int32, ait Iterator) (err error) { 1211 var i int 1212 var validi bool 1213 for { 1214 if i, validi, err = ait.NextValidity(); err != nil { 1215 err = handleNoOp(err) 1216 break 1217 } 1218 if validi { 1219 if b < a[i] { 1220 a[i] = b 1221 } 1222 } 1223 } 1224 return 1225 } 1226 1227 func VecMinIterI32(a, b []int32, ait, bit Iterator) (err error) { 1228 var i, j int 1229 var validi, validj bool 1230 for { 1231 if i, validi, err = ait.NextValidity(); err != nil { 1232 err = handleNoOp(err) 1233 break 1234 } 1235 if j, validj, err = bit.NextValidity(); err != nil { 1236 err = handleNoOp(err) 1237 break 1238 } 1239 if validi && validj { 1240 if b[j] < a[i] { 1241 a[i] = b[j] 1242 } 1243 } 1244 } 1245 return 1246 } 1247 1248 func MaxIterSVI32(a int32, b []int32, bit Iterator) (err error) { 1249 var i int 1250 var validi bool 1251 for { 1252 if i, validi, err = bit.NextValidity(); err != nil { 1253 err = handleNoOp(err) 1254 break 1255 } 1256 if validi { 1257 if a > b[i] { 1258 b[i] = a 1259 } 1260 } 1261 } 1262 return 1263 } 1264 1265 func MaxIterVSI32(a []int32, b int32, ait Iterator) (err error) { 1266 var i int 1267 var validi bool 1268 for { 1269 if i, validi, err = ait.NextValidity(); err != nil { 1270 err = handleNoOp(err) 1271 break 1272 } 1273 if validi { 1274 if b > a[i] { 1275 a[i] = b 1276 } 1277 } 1278 } 1279 return 1280 } 1281 1282 func VecMaxIterI32(a, b []int32, ait, bit Iterator) (err error) { 1283 var i, j int 1284 var validi, validj bool 1285 for { 1286 if i, validi, err = ait.NextValidity(); err != nil { 1287 err = handleNoOp(err) 1288 break 1289 } 1290 if j, validj, err = bit.NextValidity(); err != nil { 1291 err = handleNoOp(err) 1292 break 1293 } 1294 if validi && validj { 1295 if b[j] > a[i] { 1296 a[i] = b[j] 1297 } 1298 } 1299 } 1300 return 1301 } 1302 1303 func MinIterSVI64(a int64, b []int64, bit Iterator) (err error) { 1304 var i int 1305 var validi bool 1306 for { 1307 if i, validi, err = bit.NextValidity(); err != nil { 1308 err = handleNoOp(err) 1309 break 1310 } 1311 if validi { 1312 if a < b[i] { 1313 b[i] = a 1314 } 1315 } 1316 } 1317 return 1318 } 1319 1320 func MinIterVSI64(a []int64, b int64, ait Iterator) (err error) { 1321 var i int 1322 var validi bool 1323 for { 1324 if i, validi, err = ait.NextValidity(); err != nil { 1325 err = handleNoOp(err) 1326 break 1327 } 1328 if validi { 1329 if b < a[i] { 1330 a[i] = b 1331 } 1332 } 1333 } 1334 return 1335 } 1336 1337 func VecMinIterI64(a, b []int64, ait, bit Iterator) (err error) { 1338 var i, j int 1339 var validi, validj bool 1340 for { 1341 if i, validi, err = ait.NextValidity(); err != nil { 1342 err = handleNoOp(err) 1343 break 1344 } 1345 if j, validj, err = bit.NextValidity(); err != nil { 1346 err = handleNoOp(err) 1347 break 1348 } 1349 if validi && validj { 1350 if b[j] < a[i] { 1351 a[i] = b[j] 1352 } 1353 } 1354 } 1355 return 1356 } 1357 1358 func MaxIterSVI64(a int64, b []int64, bit Iterator) (err error) { 1359 var i int 1360 var validi bool 1361 for { 1362 if i, validi, err = bit.NextValidity(); err != nil { 1363 err = handleNoOp(err) 1364 break 1365 } 1366 if validi { 1367 if a > b[i] { 1368 b[i] = a 1369 } 1370 } 1371 } 1372 return 1373 } 1374 1375 func MaxIterVSI64(a []int64, b int64, ait Iterator) (err error) { 1376 var i int 1377 var validi bool 1378 for { 1379 if i, validi, err = ait.NextValidity(); err != nil { 1380 err = handleNoOp(err) 1381 break 1382 } 1383 if validi { 1384 if b > a[i] { 1385 a[i] = b 1386 } 1387 } 1388 } 1389 return 1390 } 1391 1392 func VecMaxIterI64(a, b []int64, ait, bit Iterator) (err error) { 1393 var i, j int 1394 var validi, validj bool 1395 for { 1396 if i, validi, err = ait.NextValidity(); err != nil { 1397 err = handleNoOp(err) 1398 break 1399 } 1400 if j, validj, err = bit.NextValidity(); err != nil { 1401 err = handleNoOp(err) 1402 break 1403 } 1404 if validi && validj { 1405 if b[j] > a[i] { 1406 a[i] = b[j] 1407 } 1408 } 1409 } 1410 return 1411 } 1412 1413 func MinIterSVU(a uint, b []uint, bit Iterator) (err error) { 1414 var i int 1415 var validi bool 1416 for { 1417 if i, validi, err = bit.NextValidity(); err != nil { 1418 err = handleNoOp(err) 1419 break 1420 } 1421 if validi { 1422 if a < b[i] { 1423 b[i] = a 1424 } 1425 } 1426 } 1427 return 1428 } 1429 1430 func MinIterVSU(a []uint, b uint, ait Iterator) (err error) { 1431 var i int 1432 var validi bool 1433 for { 1434 if i, validi, err = ait.NextValidity(); err != nil { 1435 err = handleNoOp(err) 1436 break 1437 } 1438 if validi { 1439 if b < a[i] { 1440 a[i] = b 1441 } 1442 } 1443 } 1444 return 1445 } 1446 1447 func VecMinIterU(a, b []uint, ait, bit Iterator) (err error) { 1448 var i, j int 1449 var validi, validj bool 1450 for { 1451 if i, validi, err = ait.NextValidity(); err != nil { 1452 err = handleNoOp(err) 1453 break 1454 } 1455 if j, validj, err = bit.NextValidity(); err != nil { 1456 err = handleNoOp(err) 1457 break 1458 } 1459 if validi && validj { 1460 if b[j] < a[i] { 1461 a[i] = b[j] 1462 } 1463 } 1464 } 1465 return 1466 } 1467 1468 func MaxIterSVU(a uint, b []uint, bit Iterator) (err error) { 1469 var i int 1470 var validi bool 1471 for { 1472 if i, validi, err = bit.NextValidity(); err != nil { 1473 err = handleNoOp(err) 1474 break 1475 } 1476 if validi { 1477 if a > b[i] { 1478 b[i] = a 1479 } 1480 } 1481 } 1482 return 1483 } 1484 1485 func MaxIterVSU(a []uint, b uint, ait Iterator) (err error) { 1486 var i int 1487 var validi bool 1488 for { 1489 if i, validi, err = ait.NextValidity(); err != nil { 1490 err = handleNoOp(err) 1491 break 1492 } 1493 if validi { 1494 if b > a[i] { 1495 a[i] = b 1496 } 1497 } 1498 } 1499 return 1500 } 1501 1502 func VecMaxIterU(a, b []uint, ait, bit Iterator) (err error) { 1503 var i, j int 1504 var validi, validj bool 1505 for { 1506 if i, validi, err = ait.NextValidity(); err != nil { 1507 err = handleNoOp(err) 1508 break 1509 } 1510 if j, validj, err = bit.NextValidity(); err != nil { 1511 err = handleNoOp(err) 1512 break 1513 } 1514 if validi && validj { 1515 if b[j] > a[i] { 1516 a[i] = b[j] 1517 } 1518 } 1519 } 1520 return 1521 } 1522 1523 func MinIterSVU8(a uint8, b []uint8, bit Iterator) (err error) { 1524 var i int 1525 var validi bool 1526 for { 1527 if i, validi, err = bit.NextValidity(); err != nil { 1528 err = handleNoOp(err) 1529 break 1530 } 1531 if validi { 1532 if a < b[i] { 1533 b[i] = a 1534 } 1535 } 1536 } 1537 return 1538 } 1539 1540 func MinIterVSU8(a []uint8, b uint8, ait Iterator) (err error) { 1541 var i int 1542 var validi bool 1543 for { 1544 if i, validi, err = ait.NextValidity(); err != nil { 1545 err = handleNoOp(err) 1546 break 1547 } 1548 if validi { 1549 if b < a[i] { 1550 a[i] = b 1551 } 1552 } 1553 } 1554 return 1555 } 1556 1557 func VecMinIterU8(a, b []uint8, ait, bit Iterator) (err error) { 1558 var i, j int 1559 var validi, validj bool 1560 for { 1561 if i, validi, err = ait.NextValidity(); err != nil { 1562 err = handleNoOp(err) 1563 break 1564 } 1565 if j, validj, err = bit.NextValidity(); err != nil { 1566 err = handleNoOp(err) 1567 break 1568 } 1569 if validi && validj { 1570 if b[j] < a[i] { 1571 a[i] = b[j] 1572 } 1573 } 1574 } 1575 return 1576 } 1577 1578 func MaxIterSVU8(a uint8, b []uint8, bit Iterator) (err error) { 1579 var i int 1580 var validi bool 1581 for { 1582 if i, validi, err = bit.NextValidity(); err != nil { 1583 err = handleNoOp(err) 1584 break 1585 } 1586 if validi { 1587 if a > b[i] { 1588 b[i] = a 1589 } 1590 } 1591 } 1592 return 1593 } 1594 1595 func MaxIterVSU8(a []uint8, b uint8, ait Iterator) (err error) { 1596 var i int 1597 var validi bool 1598 for { 1599 if i, validi, err = ait.NextValidity(); err != nil { 1600 err = handleNoOp(err) 1601 break 1602 } 1603 if validi { 1604 if b > a[i] { 1605 a[i] = b 1606 } 1607 } 1608 } 1609 return 1610 } 1611 1612 func VecMaxIterU8(a, b []uint8, ait, bit Iterator) (err error) { 1613 var i, j int 1614 var validi, validj bool 1615 for { 1616 if i, validi, err = ait.NextValidity(); err != nil { 1617 err = handleNoOp(err) 1618 break 1619 } 1620 if j, validj, err = bit.NextValidity(); err != nil { 1621 err = handleNoOp(err) 1622 break 1623 } 1624 if validi && validj { 1625 if b[j] > a[i] { 1626 a[i] = b[j] 1627 } 1628 } 1629 } 1630 return 1631 } 1632 1633 func MinIterSVU16(a uint16, b []uint16, bit Iterator) (err error) { 1634 var i int 1635 var validi bool 1636 for { 1637 if i, validi, err = bit.NextValidity(); err != nil { 1638 err = handleNoOp(err) 1639 break 1640 } 1641 if validi { 1642 if a < b[i] { 1643 b[i] = a 1644 } 1645 } 1646 } 1647 return 1648 } 1649 1650 func MinIterVSU16(a []uint16, b uint16, ait Iterator) (err error) { 1651 var i int 1652 var validi bool 1653 for { 1654 if i, validi, err = ait.NextValidity(); err != nil { 1655 err = handleNoOp(err) 1656 break 1657 } 1658 if validi { 1659 if b < a[i] { 1660 a[i] = b 1661 } 1662 } 1663 } 1664 return 1665 } 1666 1667 func VecMinIterU16(a, b []uint16, ait, bit Iterator) (err error) { 1668 var i, j int 1669 var validi, validj bool 1670 for { 1671 if i, validi, err = ait.NextValidity(); err != nil { 1672 err = handleNoOp(err) 1673 break 1674 } 1675 if j, validj, err = bit.NextValidity(); err != nil { 1676 err = handleNoOp(err) 1677 break 1678 } 1679 if validi && validj { 1680 if b[j] < a[i] { 1681 a[i] = b[j] 1682 } 1683 } 1684 } 1685 return 1686 } 1687 1688 func MaxIterSVU16(a uint16, b []uint16, bit Iterator) (err error) { 1689 var i int 1690 var validi bool 1691 for { 1692 if i, validi, err = bit.NextValidity(); err != nil { 1693 err = handleNoOp(err) 1694 break 1695 } 1696 if validi { 1697 if a > b[i] { 1698 b[i] = a 1699 } 1700 } 1701 } 1702 return 1703 } 1704 1705 func MaxIterVSU16(a []uint16, b uint16, ait Iterator) (err error) { 1706 var i int 1707 var validi bool 1708 for { 1709 if i, validi, err = ait.NextValidity(); err != nil { 1710 err = handleNoOp(err) 1711 break 1712 } 1713 if validi { 1714 if b > a[i] { 1715 a[i] = b 1716 } 1717 } 1718 } 1719 return 1720 } 1721 1722 func VecMaxIterU16(a, b []uint16, ait, bit Iterator) (err error) { 1723 var i, j int 1724 var validi, validj bool 1725 for { 1726 if i, validi, err = ait.NextValidity(); err != nil { 1727 err = handleNoOp(err) 1728 break 1729 } 1730 if j, validj, err = bit.NextValidity(); err != nil { 1731 err = handleNoOp(err) 1732 break 1733 } 1734 if validi && validj { 1735 if b[j] > a[i] { 1736 a[i] = b[j] 1737 } 1738 } 1739 } 1740 return 1741 } 1742 1743 func MinIterSVU32(a uint32, b []uint32, bit Iterator) (err error) { 1744 var i int 1745 var validi bool 1746 for { 1747 if i, validi, err = bit.NextValidity(); err != nil { 1748 err = handleNoOp(err) 1749 break 1750 } 1751 if validi { 1752 if a < b[i] { 1753 b[i] = a 1754 } 1755 } 1756 } 1757 return 1758 } 1759 1760 func MinIterVSU32(a []uint32, b uint32, ait Iterator) (err error) { 1761 var i int 1762 var validi bool 1763 for { 1764 if i, validi, err = ait.NextValidity(); err != nil { 1765 err = handleNoOp(err) 1766 break 1767 } 1768 if validi { 1769 if b < a[i] { 1770 a[i] = b 1771 } 1772 } 1773 } 1774 return 1775 } 1776 1777 func VecMinIterU32(a, b []uint32, ait, bit Iterator) (err error) { 1778 var i, j int 1779 var validi, validj bool 1780 for { 1781 if i, validi, err = ait.NextValidity(); err != nil { 1782 err = handleNoOp(err) 1783 break 1784 } 1785 if j, validj, err = bit.NextValidity(); err != nil { 1786 err = handleNoOp(err) 1787 break 1788 } 1789 if validi && validj { 1790 if b[j] < a[i] { 1791 a[i] = b[j] 1792 } 1793 } 1794 } 1795 return 1796 } 1797 1798 func MaxIterSVU32(a uint32, b []uint32, bit Iterator) (err error) { 1799 var i int 1800 var validi bool 1801 for { 1802 if i, validi, err = bit.NextValidity(); err != nil { 1803 err = handleNoOp(err) 1804 break 1805 } 1806 if validi { 1807 if a > b[i] { 1808 b[i] = a 1809 } 1810 } 1811 } 1812 return 1813 } 1814 1815 func MaxIterVSU32(a []uint32, b uint32, ait Iterator) (err error) { 1816 var i int 1817 var validi bool 1818 for { 1819 if i, validi, err = ait.NextValidity(); err != nil { 1820 err = handleNoOp(err) 1821 break 1822 } 1823 if validi { 1824 if b > a[i] { 1825 a[i] = b 1826 } 1827 } 1828 } 1829 return 1830 } 1831 1832 func VecMaxIterU32(a, b []uint32, ait, bit Iterator) (err error) { 1833 var i, j int 1834 var validi, validj bool 1835 for { 1836 if i, validi, err = ait.NextValidity(); err != nil { 1837 err = handleNoOp(err) 1838 break 1839 } 1840 if j, validj, err = bit.NextValidity(); err != nil { 1841 err = handleNoOp(err) 1842 break 1843 } 1844 if validi && validj { 1845 if b[j] > a[i] { 1846 a[i] = b[j] 1847 } 1848 } 1849 } 1850 return 1851 } 1852 1853 func MinIterSVU64(a uint64, b []uint64, bit Iterator) (err error) { 1854 var i int 1855 var validi bool 1856 for { 1857 if i, validi, err = bit.NextValidity(); err != nil { 1858 err = handleNoOp(err) 1859 break 1860 } 1861 if validi { 1862 if a < b[i] { 1863 b[i] = a 1864 } 1865 } 1866 } 1867 return 1868 } 1869 1870 func MinIterVSU64(a []uint64, b uint64, ait Iterator) (err error) { 1871 var i int 1872 var validi bool 1873 for { 1874 if i, validi, err = ait.NextValidity(); err != nil { 1875 err = handleNoOp(err) 1876 break 1877 } 1878 if validi { 1879 if b < a[i] { 1880 a[i] = b 1881 } 1882 } 1883 } 1884 return 1885 } 1886 1887 func VecMinIterU64(a, b []uint64, ait, bit Iterator) (err error) { 1888 var i, j int 1889 var validi, validj bool 1890 for { 1891 if i, validi, err = ait.NextValidity(); err != nil { 1892 err = handleNoOp(err) 1893 break 1894 } 1895 if j, validj, err = bit.NextValidity(); err != nil { 1896 err = handleNoOp(err) 1897 break 1898 } 1899 if validi && validj { 1900 if b[j] < a[i] { 1901 a[i] = b[j] 1902 } 1903 } 1904 } 1905 return 1906 } 1907 1908 func MaxIterSVU64(a uint64, b []uint64, bit Iterator) (err error) { 1909 var i int 1910 var validi bool 1911 for { 1912 if i, validi, err = bit.NextValidity(); err != nil { 1913 err = handleNoOp(err) 1914 break 1915 } 1916 if validi { 1917 if a > b[i] { 1918 b[i] = a 1919 } 1920 } 1921 } 1922 return 1923 } 1924 1925 func MaxIterVSU64(a []uint64, b uint64, ait Iterator) (err error) { 1926 var i int 1927 var validi bool 1928 for { 1929 if i, validi, err = ait.NextValidity(); err != nil { 1930 err = handleNoOp(err) 1931 break 1932 } 1933 if validi { 1934 if b > a[i] { 1935 a[i] = b 1936 } 1937 } 1938 } 1939 return 1940 } 1941 1942 func VecMaxIterU64(a, b []uint64, ait, bit Iterator) (err error) { 1943 var i, j int 1944 var validi, validj bool 1945 for { 1946 if i, validi, err = ait.NextValidity(); err != nil { 1947 err = handleNoOp(err) 1948 break 1949 } 1950 if j, validj, err = bit.NextValidity(); err != nil { 1951 err = handleNoOp(err) 1952 break 1953 } 1954 if validi && validj { 1955 if b[j] > a[i] { 1956 a[i] = b[j] 1957 } 1958 } 1959 } 1960 return 1961 } 1962 1963 func MinIterSVF32(a float32, b []float32, bit Iterator) (err error) { 1964 var i int 1965 var validi bool 1966 for { 1967 if i, validi, err = bit.NextValidity(); err != nil { 1968 err = handleNoOp(err) 1969 break 1970 } 1971 if validi { 1972 if a < b[i] { 1973 b[i] = a 1974 } 1975 } 1976 } 1977 return 1978 } 1979 1980 func MinIterVSF32(a []float32, b float32, ait Iterator) (err error) { 1981 var i int 1982 var validi bool 1983 for { 1984 if i, validi, err = ait.NextValidity(); err != nil { 1985 err = handleNoOp(err) 1986 break 1987 } 1988 if validi { 1989 if b < a[i] { 1990 a[i] = b 1991 } 1992 } 1993 } 1994 return 1995 } 1996 1997 func VecMinIterF32(a, b []float32, ait, bit Iterator) (err error) { 1998 var i, j int 1999 var validi, validj bool 2000 for { 2001 if i, validi, err = ait.NextValidity(); err != nil { 2002 err = handleNoOp(err) 2003 break 2004 } 2005 if j, validj, err = bit.NextValidity(); err != nil { 2006 err = handleNoOp(err) 2007 break 2008 } 2009 if validi && validj { 2010 if b[j] < a[i] { 2011 a[i] = b[j] 2012 } 2013 } 2014 } 2015 return 2016 } 2017 2018 func MaxIterSVF32(a float32, b []float32, bit Iterator) (err error) { 2019 var i int 2020 var validi bool 2021 for { 2022 if i, validi, err = bit.NextValidity(); err != nil { 2023 err = handleNoOp(err) 2024 break 2025 } 2026 if validi { 2027 if a > b[i] { 2028 b[i] = a 2029 } 2030 } 2031 } 2032 return 2033 } 2034 2035 func MaxIterVSF32(a []float32, b float32, ait Iterator) (err error) { 2036 var i int 2037 var validi bool 2038 for { 2039 if i, validi, err = ait.NextValidity(); err != nil { 2040 err = handleNoOp(err) 2041 break 2042 } 2043 if validi { 2044 if b > a[i] { 2045 a[i] = b 2046 } 2047 } 2048 } 2049 return 2050 } 2051 2052 func VecMaxIterF32(a, b []float32, ait, bit Iterator) (err error) { 2053 var i, j int 2054 var validi, validj bool 2055 for { 2056 if i, validi, err = ait.NextValidity(); err != nil { 2057 err = handleNoOp(err) 2058 break 2059 } 2060 if j, validj, err = bit.NextValidity(); err != nil { 2061 err = handleNoOp(err) 2062 break 2063 } 2064 if validi && validj { 2065 if b[j] > a[i] { 2066 a[i] = b[j] 2067 } 2068 } 2069 } 2070 return 2071 } 2072 2073 func MinIterSVF64(a float64, b []float64, bit Iterator) (err error) { 2074 var i int 2075 var validi bool 2076 for { 2077 if i, validi, err = bit.NextValidity(); err != nil { 2078 err = handleNoOp(err) 2079 break 2080 } 2081 if validi { 2082 if a < b[i] { 2083 b[i] = a 2084 } 2085 } 2086 } 2087 return 2088 } 2089 2090 func MinIterVSF64(a []float64, b float64, ait Iterator) (err error) { 2091 var i int 2092 var validi bool 2093 for { 2094 if i, validi, err = ait.NextValidity(); err != nil { 2095 err = handleNoOp(err) 2096 break 2097 } 2098 if validi { 2099 if b < a[i] { 2100 a[i] = b 2101 } 2102 } 2103 } 2104 return 2105 } 2106 2107 func VecMinIterF64(a, b []float64, ait, bit Iterator) (err error) { 2108 var i, j int 2109 var validi, validj bool 2110 for { 2111 if i, validi, err = ait.NextValidity(); err != nil { 2112 err = handleNoOp(err) 2113 break 2114 } 2115 if j, validj, err = bit.NextValidity(); err != nil { 2116 err = handleNoOp(err) 2117 break 2118 } 2119 if validi && validj { 2120 if b[j] < a[i] { 2121 a[i] = b[j] 2122 } 2123 } 2124 } 2125 return 2126 } 2127 2128 func MaxIterSVF64(a float64, b []float64, bit Iterator) (err error) { 2129 var i int 2130 var validi bool 2131 for { 2132 if i, validi, err = bit.NextValidity(); err != nil { 2133 err = handleNoOp(err) 2134 break 2135 } 2136 if validi { 2137 if a > b[i] { 2138 b[i] = a 2139 } 2140 } 2141 } 2142 return 2143 } 2144 2145 func MaxIterVSF64(a []float64, b float64, ait Iterator) (err error) { 2146 var i int 2147 var validi bool 2148 for { 2149 if i, validi, err = ait.NextValidity(); err != nil { 2150 err = handleNoOp(err) 2151 break 2152 } 2153 if validi { 2154 if b > a[i] { 2155 a[i] = b 2156 } 2157 } 2158 } 2159 return 2160 } 2161 2162 func VecMaxIterF64(a, b []float64, ait, bit Iterator) (err error) { 2163 var i, j int 2164 var validi, validj bool 2165 for { 2166 if i, validi, err = ait.NextValidity(); err != nil { 2167 err = handleNoOp(err) 2168 break 2169 } 2170 if j, validj, err = bit.NextValidity(); err != nil { 2171 err = handleNoOp(err) 2172 break 2173 } 2174 if validi && validj { 2175 if b[j] > a[i] { 2176 a[i] = b[j] 2177 } 2178 } 2179 } 2180 return 2181 } 2182 2183 func MinIterSVStr(a string, b []string, bit Iterator) (err error) { 2184 var i int 2185 var validi bool 2186 for { 2187 if i, validi, err = bit.NextValidity(); err != nil { 2188 err = handleNoOp(err) 2189 break 2190 } 2191 if validi { 2192 if a < b[i] { 2193 b[i] = a 2194 } 2195 } 2196 } 2197 return 2198 } 2199 2200 func MinIterVSStr(a []string, b string, ait Iterator) (err error) { 2201 var i int 2202 var validi bool 2203 for { 2204 if i, validi, err = ait.NextValidity(); err != nil { 2205 err = handleNoOp(err) 2206 break 2207 } 2208 if validi { 2209 if b < a[i] { 2210 a[i] = b 2211 } 2212 } 2213 } 2214 return 2215 } 2216 2217 func VecMinIterStr(a, b []string, ait, bit Iterator) (err error) { 2218 var i, j int 2219 var validi, validj bool 2220 for { 2221 if i, validi, err = ait.NextValidity(); err != nil { 2222 err = handleNoOp(err) 2223 break 2224 } 2225 if j, validj, err = bit.NextValidity(); err != nil { 2226 err = handleNoOp(err) 2227 break 2228 } 2229 if validi && validj { 2230 if b[j] < a[i] { 2231 a[i] = b[j] 2232 } 2233 } 2234 } 2235 return 2236 } 2237 2238 func MaxIterSVStr(a string, b []string, bit Iterator) (err error) { 2239 var i int 2240 var validi bool 2241 for { 2242 if i, validi, err = bit.NextValidity(); err != nil { 2243 err = handleNoOp(err) 2244 break 2245 } 2246 if validi { 2247 if a > b[i] { 2248 b[i] = a 2249 } 2250 } 2251 } 2252 return 2253 } 2254 2255 func MaxIterVSStr(a []string, b string, ait Iterator) (err error) { 2256 var i int 2257 var validi bool 2258 for { 2259 if i, validi, err = ait.NextValidity(); err != nil { 2260 err = handleNoOp(err) 2261 break 2262 } 2263 if validi { 2264 if b > a[i] { 2265 a[i] = b 2266 } 2267 } 2268 } 2269 return 2270 } 2271 2272 func VecMaxIterStr(a, b []string, ait, bit Iterator) (err error) { 2273 var i, j int 2274 var validi, validj bool 2275 for { 2276 if i, validi, err = ait.NextValidity(); err != nil { 2277 err = handleNoOp(err) 2278 break 2279 } 2280 if j, validj, err = bit.NextValidity(); err != nil { 2281 err = handleNoOp(err) 2282 break 2283 } 2284 if validi && validj { 2285 if b[j] > a[i] { 2286 a[i] = b[j] 2287 } 2288 } 2289 } 2290 return 2291 }