test_class.declarator: features = {
          {1., 2., 3., 4.},
          {2., 3., 4., 1.},
          {3., 4., 1., 2.},
          {4., 1., 2., 3.}
      }
test_class.modifier: private
test_class.original_string: private double[][] features = {
          {1., 2., 3., 4.},
          {2., 3., 4., 1.},
          {3., 4., 1., 2.},
          {4., 1., 2., 3.}
      };
test_class.type: double[][]
test_class.var_name: features
test_class.declarator: labels = {1., 2., 3, 4.}
test_class.modifier: private
test_class.original_string: private double[] labels = {1., 2., 3, 4.};
test_class.type: double[]
test_class.var_name: labels
test_class.declarator: labelsInSortedOrder = {
          {1., 4., 3., 2.},
          {2., 1., 4., 3.},
          {3., 2., 1., 4.},
          {4., 3., 2., 1.}
      }
test_class.modifier: private
test_class.original_string: private double[][] labelsInSortedOrder = {
          {1., 4., 3., 2.},
          {2., 1., 4., 3.},
          {3., 2., 1., 4.},
          {4., 3., 2., 1.}
      };
test_class.type: double[][]
test_class.var_name: labelsInSortedOrder
test_class.declarator: featuresInSortedOrder = {
          {
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
          },
          {
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
          },
          {
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
          },
          {
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
          }
      }
test_class.modifier: private
test_class.original_string: private double[][][] featuresInSortedOrder = {
          {
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
          },
          {
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
          },
          {
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
              {4., 1., 2., 3.},
          },
          {
              {4., 1., 2., 3.},
              {3., 4., 1., 2.},
              {2., 3., 4., 1.},
              {1., 2., 3., 4.},
          }
      };
test_class.type: double[][][]
test_class.var_name: featuresInSortedOrder
test_class.declarator: idx = new TreeDataIndex(features, labels)
test_class.modifier: private
test_class.original_string: private TreeDataIndex idx = new TreeDataIndex(features, labels);
test_class.type: TreeDataIndex
test_class.var_name: idx
test_class.file: modules/ml/src/test/java/org/apache/ignite/ml/tree/data/TreeDataIndexTest.java
test_class.identifier: TreeDataIndexTest
test_case.body: @Test
      public void featuresInSortedOrderTest() {
          assertEquals(features.length, idx.rowsCount());
          assertEquals(features[0].length, idx.columnsCount());
  
          for (int k = 0; k < idx.rowsCount(); k++) {
              for (int featureId = 0; featureId < idx.columnsCount(); featureId++)
                  assertArrayEquals(featuresInSortedOrder[k][featureId], idx.featuresInSortedOrder(k, featureId), 0.01);
          }
      }
test_case.class_method_signature: TreeDataIndexTest.featuresInSortedOrderTest()
test_case.full_signature: @Test public void featuresInSortedOrderTest()
test_case.identifier: featuresInSortedOrderTest
test_case.invocations: assertEquals rowsCount assertEquals columnsCount rowsCount columnsCount assertArrayEquals featuresInSortedOrder
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void featuresInSortedOrderTest()
focal_class.declarator: idx
focal_class.modifier: private final
focal_class.original_string: private final int[][] idx;
focal_class.type: int[][]
focal_class.var_name: idx
focal_class.declarator: features
focal_class.modifier: private final
focal_class.original_string: private final double[][] features;
focal_class.type: double[][]
focal_class.var_name: features
focal_class.declarator: labels
focal_class.modifier: private final
focal_class.original_string: private final double[] labels;
focal_class.type: double[]
focal_class.var_name: labels
focal_class.file: modules/ml/src/main/java/org/apache/ignite/ml/tree/data/TreeDataIndex.java
focal_class.identifier: TreeDataIndex
focal_class.class_method_signature: TreeDataIndex.TreeDataIndex(double[][] features, double[] labels)
focal_class.full_signature: public  TreeDataIndex(double[][] features, double[] labels)
focal_class.identifier: TreeDataIndex
focal_class.modifiers: public
focal_class.parameters: (double[][] features, double[] labels)
focal_class.signature:  TreeDataIndex(double[][] features, double[] labels)
focal_class.class_method_signature: TreeDataIndex.TreeDataIndex(int[][] idxProj, double[][] features, double[] labels)
focal_class.full_signature: private  TreeDataIndex(int[][] idxProj, double[][] features, double[] labels)
focal_class.identifier: TreeDataIndex
focal_class.modifiers: private
focal_class.parameters: (int[][] idxProj, double[][] features, double[] labels)
focal_class.signature:  TreeDataIndex(int[][] idxProj, double[][] features, double[] labels)
focal_class.class_method_signature: TreeDataIndex.labelInSortedOrder(int k, int featureId)
focal_class.full_signature: public double labelInSortedOrder(int k, int featureId)
focal_class.identifier: labelInSortedOrder
focal_class.modifiers: public
focal_class.parameters: (int k, int featureId)
focal_class.return: double
focal_class.signature: double labelInSortedOrder(int k, int featureId)
focal_class.class_method_signature: TreeDataIndex.featuresInSortedOrder(int k, int featureId)
focal_class.full_signature: public double[] featuresInSortedOrder(int k, int featureId)
focal_class.identifier: featuresInSortedOrder
focal_class.modifiers: public
focal_class.parameters: (int k, int featureId)
focal_class.return: double[]
focal_class.signature: double[] featuresInSortedOrder(int k, int featureId)
focal_class.class_method_signature: TreeDataIndex.featureInSortedOrder(int k, int featureId)
focal_class.full_signature: public double featureInSortedOrder(int k, int featureId)
focal_class.identifier: featureInSortedOrder
focal_class.modifiers: public
focal_class.parameters: (int k, int featureId)
focal_class.return: double
focal_class.signature: double featureInSortedOrder(int k, int featureId)
focal_class.class_method_signature: TreeDataIndex.filter(TreeFilter filter)
focal_class.full_signature: public TreeDataIndex filter(TreeFilter filter)
focal_class.identifier: filter
focal_class.modifiers: public
focal_class.parameters: (TreeFilter filter)
focal_class.return: TreeDataIndex
focal_class.signature: TreeDataIndex filter(TreeFilter filter)
focal_class.class_method_signature: TreeDataIndex.rowsCount()
focal_class.full_signature: public int rowsCount()
focal_class.identifier: rowsCount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int rowsCount()
focal_class.class_method_signature: TreeDataIndex.columnsCount()
focal_class.full_signature: public int columnsCount()
focal_class.identifier: columnsCount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int columnsCount()
focal_class.class_method_signature: TreeDataIndex.sortIndex(double[][] features, int col, int from, int to)
focal_class.full_signature: private void sortIndex(double[][] features, int col, int from, int to)
focal_class.identifier: sortIndex
focal_class.modifiers: private
focal_class.parameters: (double[][] features, int col, int from, int to)
focal_class.return: void
focal_class.signature: void sortIndex(double[][] features, int col, int from, int to)
focal_method.body: public double[] featuresInSortedOrder(int k, int featureId) {
          return features[idx[k][featureId]];
      }
focal_method.class_method_signature: TreeDataIndex.featuresInSortedOrder(int k, int featureId)
focal_method.full_signature: public double[] featuresInSortedOrder(int k, int featureId)
focal_method.identifier: featuresInSortedOrder
focal_method.modifiers: public
focal_method.parameters: (int k, int featureId)
focal_method.return: double[]
focal_method.signature: double[] featuresInSortedOrder(int k, int featureId)