/** * This method is only meant to be used during the compilation process. It is used to create the * resource file the class need in order to run. */ public static void main(String[] args) { if (args.length < 1) { System.err.println("Must provide the output file."); System.exit(1); } // computes the state transition matrices System.out.println("Creating the GenF2w32 state transition matrices."); // the state transition matrices BitMatrix STp0, STpw, STpz; BitVector[] bv = new BitVector[800]; GenF2w32 gen; int[] vect = new int[R]; for (int i = 0; i < 800; i++) { gen = new GenF2w32(i); gen.nextValue(); for (int j = 0; j < R; j++) vect[j] = gen.state[(j + R - 1) % R]; bv[i] = new BitVector(vect, 800); } STp0 = (new BitMatrix(bv)).transpose(); STpw = STp0.power2e(w); STpz = STpw.power2e(v); try { FileOutputStream fos = new FileOutputStream(args[0]); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(STpw); oos.writeObject(STpz); oos.close(); } catch (FileNotFoundException e) { System.err.println("Couldn't create " + args[0]); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }