예제 #1
0
 /**
  * @param numTries number of tries
  * @param maxArrLen maximum length of array size
  */
 private static void testBlockyTandemMergeSort(int numTries, int maxArrLen) {
   for (int arrLen = 0; arrLen <= maxArrLen; arrLen++) {
     for (int blkSize = 1; blkSize <= arrLen + 100; blkSize++) {
       for (int tryno = 1; tryno <= numTries; tryno++) {
         double[] arr = makeMergeTestInput(arrLen, blkSize);
         long[] brr = makeTheTandemArray(arr);
         assertMergeTestPrecondition(arr, brr, arrLen, blkSize);
         Util.blockyTandemMergeSort(arr, brr, arrLen, blkSize);
         assertMergeTestPostcondition(arr, brr, arrLen);
       }
     }
   }
   // System.out.printf ("Passed: testBlockyTandemMergeSort\n");
 }
예제 #2
0
 @SuppressWarnings("unused")
 private static void exhaustiveMain(String[] args) {
   assert (args.length == 1);
   int numTries = Integer.parseInt(args[0]);
   System.out.printf("Testing blockyTandemMergeSort\n");
   for (int arrLen = 0; true; arrLen++) {
     for (int blkSize = 1; blkSize <= arrLen + 100; blkSize++) {
       System.out.printf(
           "Testing %d times with arrLen = %d and blkSize = %d\n", numTries, arrLen, blkSize);
       for (int tryno = 1; tryno <= numTries; tryno++) {
         double[] arr = makeMergeTestInput(arrLen, blkSize);
         long[] brr = makeTheTandemArray(arr);
         assertMergeTestPrecondition(arr, brr, arrLen, blkSize);
         Util.blockyTandemMergeSort(arr, brr, arrLen, blkSize);
         assertMergeTestPostcondition(arr, brr, arrLen);
       }
     }
   }
 }