static { initTables(); /* F2wPoly.F2w f2wBase = new F2wPoly.F2w(modQ); polyBase = new F2wPoly (R, new F2wPoly.F2w.F2wElem[]{f2wBase.createElem(Br), f2wBase.createElem(BrmT)}, new int[]{0,T}, f2wBase); curr_stream = polyBase.createElem (new int[]{0x95F24DAB, 0x0B685215, 0xE76CCAE7, 0xAF3EC239, 0x715FAD23, 0x24A590AD, 0x69E4B5EF, 0xBF456141, 0x96BC1B7B, 0xA7BDF825, 0xC1DE75B7, 0x8858A9C9, 0x2DA87693, 0xB657F9DD, 0xFFDC8A8F, 0x8121DA71, 0x8B823ECB, 0x885D05F5, 0x4E20CD47, 0x5A9AD5D9, 0x512C0C03, 0xEA857CCD, 0x4CC1D30F, 0x8891A8A1, 0xA6B7AADB}); curr_stream = new int[]{0x95F24DAB, 0x0B685215, 0xE76CCAE7, 0xAF3EC239, 0x715FAD23, 0x24A590AD, 0x69E4B5EF, 0xBF456141, 0x96BC1B7B, 0xA7BDF825, 0xC1DE75B7, 0x8858A9C9, 0x2DA87693, 0xB657F9DD, 0xFFDC8A8F, 0x8121DA71, 0x8B823ECB, 0x885D05F5, 0x4E20CD47, 0x5A9AD5D9, 0x512C0C03, 0xEA857CCD, 0x4CC1D30F, 0x8891A8A1, 0xA6B7AADB}; // Il n'est pas utile de fournir les resultats des exponentiation // puisqu'elles ne prennent qu'un temps negligeable par rapport // a la creation des tables de pre-calculs. jumpW = polyBase.createElem(new int[] {0, 1960343840, 1516339037, -333505122, -1976104464, -482584330, -1279385510, -1806644808, -1348555459, -588715441, 2019804456, 533392567, 1830622053, -348374534, 335303887, 193005475, 2020690292, 1810924850, -1106874017, 988574120, -581662300, 1744525859, 697086516, 1542714170, -916619518}); jumpZ = polyBase.createElem(new int[] {0, -946485540, 1238370284, -1390769524, -1573619753, -524893823, -873333569, 600407275, 631551291, 1484250168, 81475604, 721883080, 767883194, 1119863295, -948128525, -2061810380, 631461516, 351243833, 417985878, 828823193, 1965856614, -673630318, -2078590119, -1319538924, 838929999}); jumpW = polyBase.createZ().exponentiateBase2(w); jumpZ = jumpW.exponentiateBase2(v); //transfert des vecteurs dans des matrices BitVector[] bv = new BitVector[800]; int[] vect = new int[R]; for(int i = 0; i < 800; i++) { for(int j = 0; j < vect.length; j++) vect[j] = 0; vect[i / 32] = 1 << (i % 32); polyBase.createElem(vect).multiply(jumpW).copyTo(vect); bv[i] = new BitVector(vect, 800); } Apw = (new BitMatrix(bv)).transpose(); for(int i = 0; i < 800; i++) { for(int j = 0; j < vect.length; j++) vect[j] = 0; vect[i / 32] = 1 << (i % 32); polyBase.createElem(vect).multiply(jumpZ).copyTo(vect); bv[i] = new BitVector(vect, 800); } Apz = (new BitMatrix(bv)).transpose(); */ }