Exemple #1
0
 public void testSortBigMatrixInplace() { // you will need to add option -Xmx1400m to run this
   SparseMatrixLil B;
   SparseMatrixLil A = sprand(thousandconstant, largematrixsize);
   System.out.println("size: " + A.getSize());
   System.out.println("created A");
   B = A.add(0); // make copy
   System.out.println("created B");
   //		System.out.println(B);
   B.sortInplace();
   for (int i = 0; i < B.size; i++) {
     if (i > 0) {
       assertTrue(B.colIdx[i] >= B.colIdx[i - 1]);
       if (B.colIdx[i] == B.colIdx[i - 1]) {
         assertTrue(B.rowIdx[i] >= B.rowIdx[i - 1]);
       }
     }
     assertEquals(A.rowIdx[i], B.rowIdx[i]);
     assertEquals(A.colIdx[i], B.colIdx[i]);
     assertEquals(A.values[i], B.values[i]);
   }
   System.out.println("sorted B");
   //		assertTrue( A.equals(B));
   //		System.out.println("asserted equals");
   //		System.out.println(B);
   B = null;
   SparseMatrixLil Bt = A.t(); // t() is also a copy
   System.out.println("transposed A");
   //		System.out.println(Bt);
   Timer timer = new Timer();
   Bt.sortInplace();
   timer.printTimeCheckMilliseconds();
   System.out.println("sorted Bt");
   for (int i = 0; i < Bt.size; i++) {
     if (i > 0) {
       assertTrue(Bt.colIdx[i] >= Bt.colIdx[i - 1]);
       if (Bt.colIdx[i] == Bt.colIdx[i - 1]) {
         assertTrue(Bt.rowIdx[i] >= Bt.rowIdx[i - 1]);
       }
     }
   }
   //		System.out.println(Bt);
   assertTrue(A.toDense().t().equals(Bt));
   System.out.println("checed equal to At");
 }