| 1 19 package bak.pcj.benchmark; 20 21 import bak.pcj.list.IntList; 22 23 37 public class DataSetShuffledCompact extends DataSet { 38 39 49 public DataSetShuffledCompact(int size) { 50 super("Shuffled/Compact/"+size, size); 51 } 52 53 protected int[] createList(int n, int size) { 54 int[] s = new int[size]; 55 int seed; 56 switch (n) { 57 case 0: 58 for (int i = 0; i < size; i++) s[i] = i; 59 seed = 107; 60 break; 61 case 1: 62 for (int i = 0; i < size; i++) s[i] = i+size; 63 seed = 938361; 64 break; 65 case 2: 66 for (int i = 0; i < size; i++) s[i] = i+2*size; 67 seed = 53925253; 68 break; 69 default: 70 throw new IllegalArgumentException (); 71 } 72 shuffle(s, seed); 73 return s; 74 } 75 76 88 private static void shuffle(int[] list, int seed) { 89 java.util.Random rnd = new java.util.Random (seed); 90 int size = list.length; 91 for (int i = 0; i < size; i++) { 92 int idx = rnd.nextInt(size); 93 int tmp = list[i]; 94 list[i] = list[idx]; 95 list[idx] = tmp; 96 } 97 } 98 99 } | Popular Tags |