MCPcopy Index your code
hub / github.com/benfry/processing4 / sortImpl

Method sortImpl

core/src/processing/data/IntDict.java:725–759  ·  view source on GitHub ↗
(final boolean useKeys, final boolean reverse,
                          final boolean stable)

Source from the content-addressed store, hash-verified

723
724
725 protected void sortImpl(final boolean useKeys, final boolean reverse,
726 final boolean stable) {
727 Sort s = new Sort() {
728 @Override
729 public int size() {
730 return count;
731 }
732
733 @Override
734 public int compare(int a, int b) {
735 int diff = 0;
736 if (useKeys) {
737 diff = keys[a].compareToIgnoreCase(keys[b]);
738 if (diff == 0) {
739 diff = values[a] - values[b];
740 }
741 } else { // sort values
742 diff = values[a] - values[b];
743 if (diff == 0 && stable) {
744 diff = keys[a].compareToIgnoreCase(keys[b]);
745 }
746 }
747 return reverse ? -diff : diff;
748 }
749
750 @Override
751 public void swap(int a, int b) {
752 IntDict.this.swap(a, b);
753 }
754 };
755 s.run();
756
757 // Set the indices after sort/swaps (performance fix 160411)
758 resetIndices();
759 }
760
761
762 /**

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