MCPcopy Index your code
hub / github.com/processing/processing / sortImpl

Method sortImpl

core/src/processing/data/LongDict.java:686–726  ·  view source on GitHub ↗
(final boolean useKeys, final boolean reverse,
                          final boolean stable)

Source from the content-addressed store, hash-verified

684
685
686 protected void sortImpl(final boolean useKeys, final boolean reverse,
687 final boolean stable) {
688 Sort s = new Sort() {
689 @Override
690 public int size() {
691 return count;
692 }
693
694 @Override
695 public int compare(int a, int b) {
696 long diff = 0;
697 if (useKeys) {
698 diff = keys[a].compareToIgnoreCase(keys[b]);
699 if (diff == 0) {
700 diff = values[a] - values[b];
701 }
702 } else { // sort values
703 diff = values[a] - values[b];
704 if (diff == 0 && stable) {
705 diff = keys[a].compareToIgnoreCase(keys[b]);
706 }
707 }
708 if (diff == 0) {
709 return 0;
710 } else if (reverse) {
711 return diff < 0 ? 1 : -1;
712 } else {
713 return diff < 0 ? -1 : 1;
714 }
715 }
716
717 @Override
718 public void swap(int a, int b) {
719 LongDict.this.swap(a, b);
720 }
721 };
722 s.run();
723
724 // Set the indices after sort/swaps (performance fix 160411)
725 resetIndices();
726 }
727
728
729 /**

Callers 4

sortKeysMethod · 0.95
sortKeysReverseMethod · 0.95
sortValuesMethod · 0.95
sortValuesReverseMethod · 0.95

Calls 2

runMethod · 0.95
resetIndicesMethod · 0.95

Tested by

no test coverage detected