Changeset 287cc8 in git for ntl/src/GF2X.c


Ignore:
Timestamp:
Jan 5, 2010, 5:51:13 PM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
3c38b3810fd61108b01f123f5a91e13ccff52b20
Parents:
1d43d184dd871d77c1ba8e095d768f22a0fbe92f
Message:
ntl 5.5.2

git-svn-id: file:///usr/local/Singular/svn/trunk@12402 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ntl/src/GF2X.c

    r1d43d18 r287cc8  
    5555}
    5656
    57 long IsZero(const GF2X& a) 
     57long IsZero(const GF2X& a)
    5858   { return a.xrep.length() == 0; }
    5959
     
    133133   x.xrep[wi] |= (1UL << bi);
    134134}
    135    
     135
    136136
    137137
     
    157157   long wi = i/NTL_BITS_PER_LONG;
    158158
    159    if (wi >= n) 
     159   if (wi >= n)
    160160      return;
    161161
     
    204204   return NTL_BITS_PER_LONG*(n-1) + i - 1;
    205205}
    206    
     206
    207207
    208208long operator==(const GF2X& a, const GF2X& b)
     
    213213long operator==(const GF2X& a, long b)
    214214{
    215    if (b & 1) 
     215   if (b & 1)
    216216      return IsOne(a);
    217217   else
     
    221221long operator==(const GF2X& a, GF2 b)
    222222{
    223    if (b == 1) 
     223   if (b == 1)
    224224      return IsOne(a);
    225225   else
     
    274274      x.xrep.QuickSetLength(i+1);
    275275   }
    276    
     276
    277277   else if (sa < sb) {
    278278      x.xrep.SetLength(sb);
     
    342342
    343343
    344 static 
     344static
    345345void mul1(_ntl_ulong *c, _ntl_ulong a, _ntl_ulong b)
    346346{
     
    368368}
    369369
    370 #define mul1_IL mul1_inline 
     370#define mul1_IL mul1_inline
    371371#endif
    372372
    373373
    374 static 
     374static
    375375void Mul1(_ntl_ulong *cp, const _ntl_ulong *bp, long sb, _ntl_ulong a)
    376376{
    377  
     377
    378378
    379379NTL_EFF_BB_MUL_CODE1
     
    382382}
    383383
    384 static 
     384static
    385385void AddMul1(_ntl_ulong *cp, const _ntl_ulong* bp, long sb, _ntl_ulong a)
    386386{
     
    393393
    394394
    395 static 
     395static
    396396void Mul1_short(_ntl_ulong *cp, const _ntl_ulong *bp, long sb, _ntl_ulong a)
    397397{
    398  
     398
    399399
    400400NTL_EFF_SHORT_BB_MUL_CODE1
     
    407407
    408408
    409 static 
     409static
    410410void mul_half(_ntl_ulong *c, _ntl_ulong a, _ntl_ulong b)
    411411{
     
    445445
    446446/*
    447  * This version of mul3 I got from Weimerskirch, Stebila, 
     447 * This version of mul3 I got from Weimerskirch, Stebila,
    448448 * and Shantz, "Generic GF(2^m) arithmetic in software
    449449 * an its application to ECC" (ACISP 2003).
     
    462462   mul1_IL(d12, a[1]^a[2], b[1]^b[2]);
    463463
    464    
     464
    465465   c[0] = d0[0];
    466466   c[1] = d0[1] ^ d01[0] ^ d1[0] ^ d0[0];
     
    484484
    485485   mul2(c, a, b);
    486    mul2(c+4, a+2, b+2); 
     486   mul2(c+4, a+2, b+2);
    487487   mul2(hl2, hs0, hs1);
    488488
     
    491491   hl2[2] = hl2[2] ^ c[2] ^ c[6];
    492492   hl2[3] = hl2[3] ^ c[3] ^ c[7];
    493    
     493
    494494   c[2] ^= hl2[0];
    495495   c[3] ^= hl2[1];
     
    504504   _ntl_ulong hl2[6];
    505505
    506    hs0[0] = a[0] ^ a[3]; 
     506   hs0[0] = a[0] ^ a[3];
    507507   hs0[1] = a[1] ^ a[4];
    508508   hs0[2] = a[2];
    509    hs1[0] = b[0] ^ b[3]; 
     509   hs1[0] = b[0] ^ b[3];
    510510   hs1[1] = b[1] ^ b[4];
    511511   hs1[2] = b[2];
    512512
    513    mul3(c, a, b); 
     513   mul3(c, a, b);
    514514   mul3(hl2, hs0, hs1);
    515515   mul2(c+6, a+3, b+3);
    516516
    517    hl2[0] = hl2[0] ^ c[0] ^ c[6]; 
     517   hl2[0] = hl2[0] ^ c[0] ^ c[6];
    518518   hl2[1] = hl2[1] ^ c[1] ^ c[7];
    519519   hl2[2] = hl2[2] ^ c[2] ^ c[8];
     
    522522   hl2[5] = hl2[5] ^ c[5];
    523523
    524  
     524
    525525   c[3] ^= hl2[0];
    526526   c[4] ^= hl2[1];
     
    537537   _ntl_ulong hl2[6];
    538538
    539    hs0[0] = a[0] ^ a[3];   
     539   hs0[0] = a[0] ^ a[3];
    540540   hs0[1] = a[1] ^ a[4];
    541541   hs0[2] = a[2] ^ a[5];
    542    hs1[0] = b[0] ^ b[3];   
     542   hs1[0] = b[0] ^ b[3];
    543543   hs1[1] = b[1] ^ b[4];
    544544   hs1[2] = b[2] ^ b[5];
    545545
    546    mul3(c, a, b);   
    547    mul3(c+6, a+3, b+3); 
    548    mul3(hl2, hs0, hs1); 
     546   mul3(c, a, b);
     547   mul3(c+6, a+3, b+3);
     548   mul3(hl2, hs0, hs1);
    549549
    550550   hl2[0] = hl2[0] ^ c[0] ^ c[6];
     
    554554   hl2[4] = hl2[4] ^ c[4] ^ c[10];
    555555   hl2[5] = hl2[5] ^ c[5] ^ c[11];
    556    
     556
    557557   c[3] ^= hl2[0];
    558558   c[4] ^= hl2[1];
     
    569569   _ntl_ulong hl2[8];
    570570
    571    hs0[0] = a[0] ^ a[4]; 
     571   hs0[0] = a[0] ^ a[4];
    572572   hs0[1] = a[1] ^ a[5];
    573573   hs0[2] = a[2] ^ a[6];
    574574   hs0[3] = a[3];
    575    hs1[0] = b[0] ^ b[4]; 
     575   hs1[0] = b[0] ^ b[4];
    576576   hs1[1] = b[1] ^ b[5];
    577577   hs1[2] = b[2] ^ b[6];
    578578   hs1[3] = b[3];
    579579
    580    mul4(c, a, b); 
     580   mul4(c, a, b);
    581581   mul4(hl2, hs0, hs1);
    582    mul3(c+8, a+4, b+4); 
     582   mul3(c+8, a+4, b+4);
    583583
    584584   hl2[0] = hl2[0] ^ c[0] ^ c[8];
     
    590590   hl2[6] = hl2[6] ^ c[6];
    591591   hl2[7] = hl2[7] ^ c[7];
    592    
     592
    593593   c[4]  ^= hl2[0];
    594594   c[5]  ^= hl2[1];
     
    607607   _ntl_ulong hl2[8];
    608608
    609    hs0[0] = a[0] ^ a[4]; 
     609   hs0[0] = a[0] ^ a[4];
    610610   hs0[1] = a[1] ^ a[5];
    611611   hs0[2] = a[2] ^ a[6];
    612612   hs0[3] = a[3] ^ a[7];
    613    hs1[0] = b[0] ^ b[4]; 
     613   hs1[0] = b[0] ^ b[4];
    614614   hs1[1] = b[1] ^ b[5];
    615615   hs1[2] = b[2] ^ b[6];
    616616   hs1[3] = b[3] ^ b[7];
    617617
    618    mul4(c, a, b); 
     618   mul4(c, a, b);
    619619   mul4(c+8, a+4, b+4);
    620    mul4(hl2, hs0, hs1); 
     620   mul4(hl2, hs0, hs1);
    621621
    622622   hl2[0] = hl2[0] ^ c[0] ^ c[8];
     
    628628   hl2[6] = hl2[6] ^ c[6] ^ c[14];
    629629   hl2[7] = hl2[7] ^ c[7] ^ c[15];
    630    
     630
    631631   c[4]  ^= hl2[0];
    632632   c[5]  ^= hl2[1];
     
    640640
    641641static
    642 void KarMul(_ntl_ulong *c, const _ntl_ulong *a, const _ntl_ulong *b, 
     642void KarMul(_ntl_ulong *c, const _ntl_ulong *a, const _ntl_ulong *b,
    643643            long len, _ntl_ulong *stk)
    644644{
     
    717717      return;
    718718   }
    719  
     719
    720720   _ntl_ulong a0 = a.xrep[0];
    721721   _ntl_ulong b0 = b.xrep[0];
     
    868868      return;
    869869   }
    870  
     870
    871871   _ntl_ulong a0 = a.xrep[0];
    872872   _ntl_ulong b0 = b.xrep[0];
     
    10571057            }
    10581058         }
    1059          return; 
     1059         return;
    10601060
    10611061         case 7: {
     
    10981098            }
    10991099         }
    1100          return; 
     1100         return;
    11011101
    11021102         case 8: {
     
    11431143            }
    11441144         }
    1145          return; 
     1145         return;
    11461146
    11471147      }
     
    11831183   // finally: the general case
    11841184
    1185    
     1185
    11861186   static WordVector mem;
    11871187   static WordVector stk;
     
    12441244      if (sa == 1) {
    12451245         AddMul1(cp, bp, sb, ap[0]);
    1246          
     1246
    12471247         break;
    12481248      }
     
    12531253         KarMul(v, ap, bp + i, sa, stk_p);
    12541254         for (j = 0; j < 2*sa; j++)
    1255             cp[i+j] ^= v[j]; 
     1255            cp[i+j] ^= v[j];
    12561256      }
    12571257
     
    13141314      }
    13151315   }
    1316    else if (n*NTL_BITS_PER_LONG <= m) 
     1316   else if (n*NTL_BITS_PER_LONG <= m)
    13171317      x = a;
    13181318   else {
     
    13341334   }
    13351335}
    1336      
     1336
    13371337
    13381338/****** implementation of vec_GF2X ******/
     
    13761376static _ntl_ulong sqrtab[256] = {
    13771377
    1378 0UL, 1UL, 4UL, 5UL, 16UL, 17UL, 20UL, 21UL, 64UL, 
    1379 65UL, 68UL, 69UL, 80UL, 81UL, 84UL, 85UL, 256UL, 
    1380 257UL, 260UL, 261UL, 272UL, 273UL, 276UL, 277UL, 320UL, 
    1381 321UL, 324UL, 325UL, 336UL, 337UL, 340UL, 341UL, 1024UL, 
    1382 1025UL, 1028UL, 1029UL, 1040UL, 1041UL, 1044UL, 1045UL, 1088UL, 
    1383 1089UL, 1092UL, 1093UL, 1104UL, 1105UL, 1108UL, 1109UL, 1280UL, 
    1384 1281UL, 1284UL, 1285UL, 1296UL, 1297UL, 1300UL, 1301UL, 1344UL, 
    1385 1345UL, 1348UL, 1349UL, 1360UL, 1361UL, 1364UL, 1365UL, 4096UL, 
    1386 4097UL, 4100UL, 4101UL, 4112UL, 4113UL, 4116UL, 4117UL, 4160UL, 
    1387 4161UL, 4164UL, 4165UL, 4176UL, 4177UL, 4180UL, 4181UL, 4352UL, 
    1388 4353UL, 4356UL, 4357UL, 4368UL, 4369UL, 4372UL, 4373UL, 4416UL, 
    1389 4417UL, 4420UL, 4421UL, 4432UL, 4433UL, 4436UL, 4437UL, 5120UL, 
    1390 5121UL, 5124UL, 5125UL, 5136UL, 5137UL, 5140UL, 5141UL, 5184UL, 
    1391 5185UL, 5188UL, 5189UL, 5200UL, 5201UL, 5204UL, 5205UL, 5376UL, 
    1392 5377UL, 5380UL, 5381UL, 5392UL, 5393UL, 5396UL, 5397UL, 5440UL, 
    1393 5441UL, 5444UL, 5445UL, 5456UL, 5457UL, 5460UL, 5461UL, 16384UL, 
    1394 16385UL, 16388UL, 16389UL, 16400UL, 16401UL, 16404UL, 16405UL, 16448UL, 
    1395 16449UL, 16452UL, 16453UL, 16464UL, 16465UL, 16468UL, 16469UL, 16640UL, 
    1396 16641UL, 16644UL, 16645UL, 16656UL, 16657UL, 16660UL, 16661UL, 16704UL, 
    1397 16705UL, 16708UL, 16709UL, 16720UL, 16721UL, 16724UL, 16725UL, 17408UL, 
    1398 17409UL, 17412UL, 17413UL, 17424UL, 17425UL, 17428UL, 17429UL, 17472UL, 
    1399 17473UL, 17476UL, 17477UL, 17488UL, 17489UL, 17492UL, 17493UL, 17664UL, 
    1400 17665UL, 17668UL, 17669UL, 17680UL, 17681UL, 17684UL, 17685UL, 17728UL, 
    1401 17729UL, 17732UL, 17733UL, 17744UL, 17745UL, 17748UL, 17749UL, 20480UL, 
    1402 20481UL, 20484UL, 20485UL, 20496UL, 20497UL, 20500UL, 20501UL, 20544UL, 
    1403 20545UL, 20548UL, 20549UL, 20560UL, 20561UL, 20564UL, 20565UL, 20736UL, 
    1404 20737UL, 20740UL, 20741UL, 20752UL, 20753UL, 20756UL, 20757UL, 20800UL, 
    1405 20801UL, 20804UL, 20805UL, 20816UL, 20817UL, 20820UL, 20821UL, 21504UL, 
    1406 21505UL, 21508UL, 21509UL, 21520UL, 21521UL, 21524UL, 21525UL, 21568UL, 
    1407 21569UL, 21572UL, 21573UL, 21584UL, 21585UL, 21588UL, 21589UL, 21760UL, 
    1408 21761UL, 21764UL, 21765UL, 21776UL, 21777UL, 21780UL, 21781UL, 21824UL, 
     13780UL, 1UL, 4UL, 5UL, 16UL, 17UL, 20UL, 21UL, 64UL,
     137965UL, 68UL, 69UL, 80UL, 81UL, 84UL, 85UL, 256UL,
     1380257UL, 260UL, 261UL, 272UL, 273UL, 276UL, 277UL, 320UL,
     1381321UL, 324UL, 325UL, 336UL, 337UL, 340UL, 341UL, 1024UL,
     13821025UL, 1028UL, 1029UL, 1040UL, 1041UL, 1044UL, 1045UL, 1088UL,
     13831089UL, 1092UL, 1093UL, 1104UL, 1105UL, 1108UL, 1109UL, 1280UL,
     13841281UL, 1284UL, 1285UL, 1296UL, 1297UL, 1300UL, 1301UL, 1344UL,
     13851345UL, 1348UL, 1349UL, 1360UL, 1361UL, 1364UL, 1365UL, 4096UL,
     13864097UL, 4100UL, 4101UL, 4112UL, 4113UL, 4116UL, 4117UL, 4160UL,
     13874161UL, 4164UL, 4165UL, 4176UL, 4177UL, 4180UL, 4181UL, 4352UL,
     13884353UL, 4356UL, 4357UL, 4368UL, 4369UL, 4372UL, 4373UL, 4416UL,
     13894417UL, 4420UL, 4421UL, 4432UL, 4433UL, 4436UL, 4437UL, 5120UL,
     13905121UL, 5124UL, 5125UL, 5136UL, 5137UL, 5140UL, 5141UL, 5184UL,
     13915185UL, 5188UL, 5189UL, 5200UL, 5201UL, 5204UL, 5205UL, 5376UL,
     13925377UL, 5380UL, 5381UL, 5392UL, 5393UL, 5396UL, 5397UL, 5440UL,
     13935441UL, 5444UL, 5445UL, 5456UL, 5457UL, 5460UL, 5461UL, 16384UL,
     139416385UL, 16388UL, 16389UL, 16400UL, 16401UL, 16404UL, 16405UL, 16448UL,
     139516449UL, 16452UL, 16453UL, 16464UL, 16465UL, 16468UL, 16469UL, 16640UL,
     139616641UL, 16644UL, 16645UL, 16656UL, 16657UL, 16660UL, 16661UL, 16704UL,
     139716705UL, 16708UL, 16709UL, 16720UL, 16721UL, 16724UL, 16725UL, 17408UL,
     139817409UL, 17412UL, 17413UL, 17424UL, 17425UL, 17428UL, 17429UL, 17472UL,
     139917473UL, 17476UL, 17477UL, 17488UL, 17489UL, 17492UL, 17493UL, 17664UL,
     140017665UL, 17668UL, 17669UL, 17680UL, 17681UL, 17684UL, 17685UL, 17728UL,
     140117729UL, 17732UL, 17733UL, 17744UL, 17745UL, 17748UL, 17749UL, 20480UL,
     140220481UL, 20484UL, 20485UL, 20496UL, 20497UL, 20500UL, 20501UL, 20544UL,
     140320545UL, 20548UL, 20549UL, 20560UL, 20561UL, 20564UL, 20565UL, 20736UL,
     140420737UL, 20740UL, 20741UL, 20752UL, 20753UL, 20756UL, 20757UL, 20800UL,
     140520801UL, 20804UL, 20805UL, 20816UL, 20817UL, 20820UL, 20821UL, 21504UL,
     140621505UL, 21508UL, 21509UL, 21520UL, 21521UL, 21524UL, 21525UL, 21568UL,
     140721569UL, 21572UL, 21573UL, 21584UL, 21585UL, 21588UL, 21589UL, 21760UL,
     140821761UL, 21764UL, 21765UL, 21776UL, 21777UL, 21780UL, 21781UL, 21824UL,
    1409140921825UL, 21828UL, 21829UL, 21840UL, 21841UL, 21844UL, 21845UL };
    14101410
     
    14121412
    14131413
    1414 static inline 
     1414static inline
    14151415void sqr1(_ntl_ulong *c, _ntl_ulong a)
    14161416{
     
    14611461
    14621462   if (n < 0) {
    1463       if (n < -NTL_MAX_LONG) 
     1463      if (n < -NTL_MAX_LONG)
    14641464         clear(c);
    14651465      else
     
    15351535   if (bn) ss++;
    15361536
    1537    if (ss > sc) 
     1537   if (ss > sc)
    15381538      c.xrep.SetLength(ss);
    15391539
     
    16141614static _ntl_ulong revtab[256] = {
    16151615
    1616 0UL, 128UL, 64UL, 192UL, 32UL, 160UL, 96UL, 224UL, 16UL, 144UL, 
    1617 80UL, 208UL, 48UL, 176UL, 112UL, 240UL, 8UL, 136UL, 72UL, 200UL, 
    1618 40UL, 168UL, 104UL, 232UL, 24UL, 152UL, 88UL, 216UL, 56UL, 184UL, 
    1619 120UL, 248UL, 4UL, 132UL, 68UL, 196UL, 36UL, 164UL, 100UL, 228UL, 
    1620 20UL, 148UL, 84UL, 212UL, 52UL, 180UL, 116UL, 244UL, 12UL, 140UL, 
    1621 76UL, 204UL, 44UL, 172UL, 108UL, 236UL, 28UL, 156UL, 92UL, 220UL, 
    1622 60UL, 188UL, 124UL, 252UL, 2UL, 130UL, 66UL, 194UL, 34UL, 162UL, 
    1623 98UL, 226UL, 18UL, 146UL, 82UL, 210UL, 50UL, 178UL, 114UL, 242UL, 
    1624 10UL, 138UL, 74UL, 202UL, 42UL, 170UL, 106UL, 234UL, 26UL, 154UL, 
    1625 90UL, 218UL, 58UL, 186UL, 122UL, 250UL, 6UL, 134UL, 70UL, 198UL, 
    1626 38UL, 166UL, 102UL, 230UL, 22UL, 150UL, 86UL, 214UL, 54UL, 182UL, 
    1627 118UL, 246UL, 14UL, 142UL, 78UL, 206UL, 46UL, 174UL, 110UL, 238UL, 
    1628 30UL, 158UL, 94UL, 222UL, 62UL, 190UL, 126UL, 254UL, 1UL, 129UL, 
    1629 65UL, 193UL, 33UL, 161UL, 97UL, 225UL, 17UL, 145UL, 81UL, 209UL, 
    1630 49UL, 177UL, 113UL, 241UL, 9UL, 137UL, 73UL, 201UL, 41UL, 169UL, 
    1631 105UL, 233UL, 25UL, 153UL, 89UL, 217UL, 57UL, 185UL, 121UL, 249UL, 
    1632 5UL, 133UL, 69UL, 197UL, 37UL, 165UL, 101UL, 229UL, 21UL, 149UL, 
    1633 85UL, 213UL, 53UL, 181UL, 117UL, 245UL, 13UL, 141UL, 77UL, 205UL, 
    1634 45UL, 173UL, 109UL, 237UL, 29UL, 157UL, 93UL, 221UL, 61UL, 189UL, 
    1635 125UL, 253UL, 3UL, 131UL, 67UL, 195UL, 35UL, 163UL, 99UL, 227UL, 
    1636 19UL, 147UL, 83UL, 211UL, 51UL, 179UL, 115UL, 243UL, 11UL, 139UL, 
    1637 75UL, 203UL, 43UL, 171UL, 107UL, 235UL, 27UL, 155UL, 91UL, 219UL, 
    1638 59UL, 187UL, 123UL, 251UL, 7UL, 135UL, 71UL, 199UL, 39UL, 167UL, 
    1639 103UL, 231UL, 23UL, 151UL, 87UL, 215UL, 55UL, 183UL, 119UL, 247UL, 
    1640 15UL, 143UL, 79UL, 207UL, 47UL, 175UL, 111UL, 239UL, 31UL, 159UL, 
    1641 95UL, 223UL, 63UL, 191UL, 127UL, 255UL  }; 
    1642 
    1643 static inline 
     16160UL, 128UL, 64UL, 192UL, 32UL, 160UL, 96UL, 224UL, 16UL, 144UL,
     161780UL, 208UL, 48UL, 176UL, 112UL, 240UL, 8UL, 136UL, 72UL, 200UL,
     161840UL, 168UL, 104UL, 232UL, 24UL, 152UL, 88UL, 216UL, 56UL, 184UL,
     1619120UL, 248UL, 4UL, 132UL, 68UL, 196UL, 36UL, 164UL, 100UL, 228UL,
     162020UL, 148UL, 84UL, 212UL, 52UL, 180UL, 116UL, 244UL, 12UL, 140UL,
     162176UL, 204UL, 44UL, 172UL, 108UL, 236UL, 28UL, 156UL, 92UL, 220UL,
     162260UL, 188UL, 124UL, 252UL, 2UL, 130UL, 66UL, 194UL, 34UL, 162UL,
     162398UL, 226UL, 18UL, 146UL, 82UL, 210UL, 50UL, 178UL, 114UL, 242UL,
     162410UL, 138UL, 74UL, 202UL, 42UL, 170UL, 106UL, 234UL, 26UL, 154UL,
     162590UL, 218UL, 58UL, 186UL, 122UL, 250UL, 6UL, 134UL, 70UL, 198UL,
     162638UL, 166UL, 102UL, 230UL, 22UL, 150UL, 86UL, 214UL, 54UL, 182UL,
     1627118UL, 246UL, 14UL, 142UL, 78UL, 206UL, 46UL, 174UL, 110UL, 238UL,
     162830UL, 158UL, 94UL, 222UL, 62UL, 190UL, 126UL, 254UL, 1UL, 129UL,
     162965UL, 193UL, 33UL, 161UL, 97UL, 225UL, 17UL, 145UL, 81UL, 209UL,
     163049UL, 177UL, 113UL, 241UL, 9UL, 137UL, 73UL, 201UL, 41UL, 169UL,
     1631105UL, 233UL, 25UL, 153UL, 89UL, 217UL, 57UL, 185UL, 121UL, 249UL,
     16325UL, 133UL, 69UL, 197UL, 37UL, 165UL, 101UL, 229UL, 21UL, 149UL,
     163385UL, 213UL, 53UL, 181UL, 117UL, 245UL, 13UL, 141UL, 77UL, 205UL,
     163445UL, 173UL, 109UL, 237UL, 29UL, 157UL, 93UL, 221UL, 61UL, 189UL,
     1635125UL, 253UL, 3UL, 131UL, 67UL, 195UL, 35UL, 163UL, 99UL, 227UL,
     163619UL, 147UL, 83UL, 211UL, 51UL, 179UL, 115UL, 243UL, 11UL, 139UL,
     163775UL, 203UL, 43UL, 171UL, 107UL, 235UL, 27UL, 155UL, 91UL, 219UL,
     163859UL, 187UL, 123UL, 251UL, 7UL, 135UL, 71UL, 199UL, 39UL, 167UL,
     1639103UL, 231UL, 23UL, 151UL, 87UL, 215UL, 55UL, 183UL, 119UL, 247UL,
     164015UL, 143UL, 79UL, 207UL, 47UL, 175UL, 111UL, 239UL, 31UL, 159UL,
     164195UL, 223UL, 63UL, 191UL, 127UL, 255UL  };
     1642
     1643static inline
    16441644_ntl_ulong rev1(_ntl_ulong a)
    16451645{
     
    16751675
    16761676   c.xrep.SetLength(wn);
    1677  
     1677
    16781678   _ntl_ulong *cp = c.xrep.elts();
    16791679   const _ntl_ulong *ap = a.xrep.elts();
     
    17371737   r = n - lw*BytesPerLong;
    17381738
    1739    if (r != 0) 
     1739   if (r != 0)
    17401740      lw++;
    17411741   else
Note: See TracChangeset for help on using the changeset viewer.