File tree Expand file tree Collapse file tree 5 files changed +21
-19
lines changed
src/main/java/org/apache/sysds/runtime/compress/colgroup Expand file tree Collapse file tree 5 files changed +21
-19
lines changed Original file line number Diff line number Diff line change @@ -886,17 +886,17 @@ public AColGroup sort() {
886886 // find default value position.
887887 // todo use binary search for minor improvements.
888888 final double def = _defaultTuple [0 ];
889- int defIdx = -1 ;
890- int nondefault = 0 ;
889+ int defIdx = counts .length ;
891890 for (int i = 0 ; i < r .length ; i ++) {
892- if (defIdx == - 1 && _dict .getValue (r [i ], 0 , 1 ) >= def ) {
891+ if (_dict .getValue (r [i ], 0 , 1 ) >= def ) {
893892 defIdx = i ;
893+ break ;
894894 }
895- nondefault += counts [i ];
896895 }
897896
897+ int nondefault = _data .size ();
898898 int defaultLength = _numRows - nondefault ;
899- AMapToData m = MapToFactory .create (_data . size () , counts .length );
899+ AMapToData m = MapToFactory .create (nondefault , counts .length );
900900 int [] offsets = new int [nondefault ];
901901
902902 int off = 0 ;
Original file line number Diff line number Diff line change @@ -632,17 +632,17 @@ public AColGroup sort() {
632632
633633 // find default value position.
634634 // todo use binary search for minor improvements.
635- int defIdx = -1 ;
636- int nondefault = 0 ;
635+ int defIdx = counts .length ;
637636 for (int i = 0 ; i < r .length ; i ++) {
638- if (defIdx == - 1 && _dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
637+ if ( _dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
639638 defIdx = i ;
639+ break ;
640640 }
641- nondefault += counts [i ];
642641 }
643642
643+ int nondefault = _data .size ();
644644 int defaultLength = _numRows - nondefault ;
645- AMapToData m = MapToFactory .create (_data . size () , counts .length );
645+ AMapToData m = MapToFactory .create (nondefault , counts .length );
646646 int [] offsets = new int [nondefault ];
647647
648648 int off = 0 ;
Original file line number Diff line number Diff line change @@ -732,10 +732,10 @@ public AColGroup sort() {
732732 // find default value position.
733733 // todo use binary search for minor improvements.
734734 final double def = _defaultTuple [0 ];
735- int defIdx = - 1 ;
735+ int defIdx = counts . length ;
736736 int nondefault = 0 ;
737737 for (int i = 0 ; i < r .length ; i ++) {
738- if (defIdx == - 1 && _dict .getValue (r [i ], 0 , 1 ) >= def ) {
738+ if (defIdx == counts . length && _dict .getValue (r [i ], 0 , 1 ) >= def ) {
739739 defIdx = i ;
740740 }
741741 nondefault += counts [i ];
Original file line number Diff line number Diff line change @@ -1062,10 +1062,10 @@ public AColGroup sort() {
10621062
10631063 // find default value position.
10641064 // todo use binary search for minor improvements.
1065- int defIdx = - 1 ;
1065+ int defIdx = counts . length ;
10661066 int nondefault = 0 ;
10671067 for (int i = 0 ; i < r .length ; i ++) {
1068- if (defIdx == - 1 && _dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
1068+ if (defIdx == counts . length && _dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
10691069 defIdx = i ;
10701070 }
10711071 nondefault += counts [i ];
Original file line number Diff line number Diff line change @@ -1102,19 +1102,21 @@ public AColGroup sort() {
11021102
11031103 // find default value position.
11041104 // todo use binary search for minor improvements.
1105- int defIdx = -1 ;
1106- int nondefault = 0 ;
1105+ int defIdx = counts .length ;
11071106 for (int i = 0 ; i < r .length ; i ++) {
1108- if (defIdx == - 1 && _dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
1107+ if (_dict .getValue (r [i ], 0 , 1 ) >= 0 ) {
11091108 defIdx = i ;
1109+ break ;
11101110 }
1111- nondefault += counts [i ];
11121111 }
11131112
1113+
1114+ int nondefault = _data .size ();
11141115 int defaultLength = _numRows - nondefault ;
1115- AMapToData m = MapToFactory .create (_data . size () , counts .length );
1116+ AMapToData m = MapToFactory .create (nondefault , counts .length );
11161117 int [] offsets = new int [nondefault ];
11171118
1119+
11181120 int off = 0 ;
11191121 for (int i = 0 ; i < counts .length ; i ++) {
11201122 if (i < defIdx ) {
You can’t perform that action at this time.
0 commit comments