|
584 | 584 | * @returns {Array}
|
585 | 585 | */
|
586 | 586 | 'toArray': Math['clz32'] ?
|
587 |
| - function() { |
| 587 | + function() { |
588 | 588 |
|
589 |
| - var ret = []; |
590 |
| - var data = this['data']; |
| 589 | + var ret = []; |
| 590 | + var data = this['data']; |
591 | 591 |
|
592 |
| - for (var i = data.length - 1; i >= 0; i--) { |
| 592 | + for (var i = data.length - 1; i >= 0; i--) { |
593 | 593 |
|
594 |
| - var num = data[i]; |
| 594 | + var num = data[i]; |
595 | 595 |
|
596 |
| - while (num !== 0) { |
597 |
| - var t = 31 - Math['clz32'](num); |
598 |
| - num ^= 1 << t; |
599 |
| - ret.unshift((i * WORD_LENGTH) + t); |
600 |
| - } |
601 |
| - } |
| 596 | + while (num !== 0) { |
| 597 | + var t = 31 - Math['clz32'](num); |
| 598 | + num ^= 1 << t; |
| 599 | + ret.unshift((i * WORD_LENGTH) + t); |
| 600 | + } |
| 601 | + } |
602 | 602 |
|
603 |
| - if (this['_'] !== 0) |
604 |
| - ret.push(Infinity); |
| 603 | + if (this['_'] !== 0) |
| 604 | + ret.push(Infinity); |
605 | 605 |
|
606 |
| - return ret; |
607 |
| - } : |
608 |
| - function() { |
| 606 | + return ret; |
| 607 | + } : |
| 608 | + function() { |
609 | 609 |
|
610 |
| - var ret = []; |
611 |
| - var data = this['data']; |
| 610 | + var ret = []; |
| 611 | + var data = this['data']; |
612 | 612 |
|
613 |
| - for (var i = 0; i < data.length; i++) { |
| 613 | + for (var i = 0; i < data.length; i++) { |
614 | 614 |
|
615 |
| - var num = data[i]; |
| 615 | + var num = data[i]; |
616 | 616 |
|
617 |
| - while (num !== 0) { |
618 |
| - var t = num & -num; |
619 |
| - num ^= t; |
620 |
| - ret.push((i * WORD_LENGTH) + popCount(t - 1)); |
621 |
| - } |
622 |
| - } |
| 617 | + while (num !== 0) { |
| 618 | + var t = num & -num; |
| 619 | + num ^= t; |
| 620 | + ret.push((i * WORD_LENGTH) + popCount(t - 1)); |
| 621 | + } |
| 622 | + } |
623 | 623 |
|
624 |
| - if (this['_'] !== 0) |
625 |
| - ret.push(Infinity); |
| 624 | + if (this['_'] !== 0) |
| 625 | + ret.push(Infinity); |
626 | 626 |
|
627 |
| - return ret; |
628 |
| - }, |
| 627 | + return ret; |
| 628 | + }, |
629 | 629 | /**
|
630 | 630 | * Overrides the toString method to get a binary representation of the BitSet
|
631 | 631 | *
|
|
763 | 763 | * @returns {number} The index of the highest bit set
|
764 | 764 | */
|
765 | 765 | 'msb': Math['clz32'] ?
|
766 |
| - function() { |
| 766 | + function() { |
767 | 767 |
|
768 |
| - if (this['_'] !== 0) { |
769 |
| - return Infinity; |
770 |
| - } |
| 768 | + if (this['_'] !== 0) { |
| 769 | + return Infinity; |
| 770 | + } |
771 | 771 |
|
772 |
| - var data = this['data']; |
| 772 | + var data = this['data']; |
773 | 773 |
|
774 |
| - for (var i = data.length; i-- > 0; ) { |
| 774 | + for (var i = data.length; i-- > 0;) { |
775 | 775 |
|
776 |
| - var c = Math['clz32'](data[i]); |
| 776 | + var c = Math['clz32'](data[i]); |
777 | 777 |
|
778 |
| - if (c !== WORD_LENGTH) { |
779 |
| - return (i * WORD_LENGTH) + WORD_LENGTH - 1 - c; |
780 |
| - } |
781 |
| - } |
782 |
| - return Infinity; |
783 |
| - } : |
784 |
| - function() { |
| 778 | + if (c !== WORD_LENGTH) { |
| 779 | + return (i * WORD_LENGTH) + WORD_LENGTH - 1 - c; |
| 780 | + } |
| 781 | + } |
| 782 | + return Infinity; |
| 783 | + } : |
| 784 | + function() { |
785 | 785 |
|
786 |
| - if (this['_'] !== 0) { |
787 |
| - return Infinity; |
788 |
| - } |
| 786 | + if (this['_'] !== 0) { |
| 787 | + return Infinity; |
| 788 | + } |
789 | 789 |
|
790 |
| - var data = this['data']; |
| 790 | + var data = this['data']; |
791 | 791 |
|
792 |
| - for (var i = data.length; i-- > 0; ) { |
| 792 | + for (var i = data.length; i-- > 0;) { |
793 | 793 |
|
794 |
| - var v = data[i]; |
795 |
| - var c = 0; |
| 794 | + var v = data[i]; |
| 795 | + var c = 0; |
796 | 796 |
|
797 |
| - if (v) { |
| 797 | + if (v) { |
798 | 798 |
|
799 |
| - for (; (v >>>= 1) > 0; c++) { |
800 |
| - } |
801 |
| - return (i * WORD_LENGTH) + c; |
802 |
| - } |
803 |
| - } |
804 |
| - return Infinity; |
805 |
| - }, |
| 799 | + for (; (v >>>= 1) > 0; c++) { |
| 800 | + } |
| 801 | + return (i * WORD_LENGTH) + c; |
| 802 | + } |
| 803 | + } |
| 804 | + return Infinity; |
| 805 | + }, |
806 | 806 | /**
|
807 | 807 | * Calculates the number of trailing zeros
|
808 | 808 | *
|
|
922 | 922 |
|
923 | 923 | BitSet['Random'] = function(n) {
|
924 | 924 |
|
925 |
| - if (n === undefined || n < 0) { |
| 925 | + if (n === undefined || n < 0) { |
926 | 926 | n = WORD_LENGTH;
|
927 | 927 | }
|
928 | 928 |
|
|
937 | 937 |
|
938 | 938 | // Fill the vector with random data, uniformally distributed
|
939 | 939 | for (var i = 0; i < len; i++) {
|
940 |
| - t.push(Math.random() * 4294967296 | 0); |
| 940 | + t.push(Math.random() * 4294967296 | 0); |
941 | 941 | }
|
942 | 942 |
|
943 | 943 | // Mask out unwanted bits
|
|
955 | 955 | return BitSet;
|
956 | 956 | });
|
957 | 957 | } else if (typeof exports === 'object') {
|
958 |
| - Object.defineProperty(exports, "__esModule", {'value': true}); |
| 958 | + Object.defineProperty(exports, "__esModule", { 'value': true }); |
959 | 959 | BitSet['default'] = BitSet;
|
960 | 960 | BitSet['BitSet'] = BitSet;
|
961 | 961 | module['exports'] = BitSet;
|
|
0 commit comments