org.apache.sysds.runtime.util

## Class SortUtils

- java.lang.Object
- - org.apache.sysds.runtime.util.SortUtils

-     public class SortUtils
      extends Object

  Utilities for sorting, primarily used for SparseRows.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SortUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `compare(double[] d1, double[] d2)`
    `static boolean` | `isSorted(int start, int end, double[] values)`
    `static boolean` | `isSorted(int start, int end, int[] indexes)`
    `static boolean` | `isSorted(MatrixBlock in)`
    `static void` | `sortByIndex(int start, int end, int[] indexes, double[] values)` In-place sort of two arrays, only indexes is used for comparison and values of same position are sorted accordingly.
    `static void` | `sortByIndex(int start, int end, int[] indexes, int[] indexes2, double[] values)` In-place sort of three arrays, only first indexes is used for comparison and second indexes as well as values of same position are sorted accordingly.
    `static void` | `sortByValue(int start, int end, double[] values, int[] indexes)`
    `static void` | `sortByValueStable(int start, int end, double[] values, int[] indexes)` In-place sort of two arrays, only indexes is used for comparison and values of same position are sorted accordingly.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SortUtils

          public SortUtils()

  - ### Method Detail

    - #### isSorted

          public static boolean isSorted(int start,
                                         int end,
                                         int[] indexes)

    - #### isSorted

          public static boolean isSorted(int start,
                                         int end,
                                         double[] values)

    - #### isSorted

          public static boolean isSorted(MatrixBlock in)

    - #### compare

          public static int compare(double[] d1,
                                    double[] d2)

    - #### sortByIndex

          public static void sortByIndex(int start,
                                         int end,
                                         int[] indexes,
                                         double[] values)

      In-place sort of two arrays, only indexes is used for comparison and values of same position are sorted accordingly.
      Parameters:
        `start` - starting index
        `end` - ending index
        `indexes` - array of indexes to sort by
        `values` - double array of values to sort

    - #### sortByIndex

          public static void sortByIndex(int start,
                                         int end,
                                         int[] indexes,
                                         int[] indexes2,
                                         double[] values)

      In-place sort of three arrays, only first indexes is used for comparison and second indexes as well as values of same position are sorted accordingly.
      Parameters:
        `start` - starting index
        `end` - ending index
        `indexes` - ?
        `indexes2` - ?
        `values` - ?

    - #### sortByValue

          public static void sortByValue(int start,
                                         int end,
                                         double[] values,
                                         int[] indexes)

    - #### sortByValueStable

          public static void sortByValueStable(int start,
                                               int end,
                                               double[] values,
                                               int[] indexes)

      In-place sort of two arrays, only indexes is used for comparison and values of same position are sorted accordingly.
      Parameters:
        `start` - start index
        `end` - end index
        `values` - double array of values to sort
        `indexes` - int array of indexes to sort by

Copyright © 2021 The Apache Software Foundation. All rights reserved.