Changeset 287cc8 in git for ntl/src/GF2X.c
- Timestamp:
- Jan 5, 2010, 5:51:13 PM (14 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 3c38b3810fd61108b01f123f5a91e13ccff52b20
- Parents:
- 1d43d184dd871d77c1ba8e095d768f22a0fbe92f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ntl/src/GF2X.c
r1d43d18 r287cc8 55 55 } 56 56 57 long IsZero(const GF2X& a) 57 long IsZero(const GF2X& a) 58 58 { return a.xrep.length() == 0; } 59 59 … … 133 133 x.xrep[wi] |= (1UL << bi); 134 134 } 135 135 136 136 137 137 … … 157 157 long wi = i/NTL_BITS_PER_LONG; 158 158 159 if (wi >= n) 159 if (wi >= n) 160 160 return; 161 161 … … 204 204 return NTL_BITS_PER_LONG*(n-1) + i - 1; 205 205 } 206 206 207 207 208 208 long operator==(const GF2X& a, const GF2X& b) … … 213 213 long operator==(const GF2X& a, long b) 214 214 { 215 if (b & 1) 215 if (b & 1) 216 216 return IsOne(a); 217 217 else … … 221 221 long operator==(const GF2X& a, GF2 b) 222 222 { 223 if (b == 1) 223 if (b == 1) 224 224 return IsOne(a); 225 225 else … … 274 274 x.xrep.QuickSetLength(i+1); 275 275 } 276 276 277 277 else if (sa < sb) { 278 278 x.xrep.SetLength(sb); … … 342 342 343 343 344 static 344 static 345 345 void mul1(_ntl_ulong *c, _ntl_ulong a, _ntl_ulong b) 346 346 { … … 368 368 } 369 369 370 #define mul1_IL mul1_inline 370 #define mul1_IL mul1_inline 371 371 #endif 372 372 373 373 374 static 374 static 375 375 void Mul1(_ntl_ulong *cp, const _ntl_ulong *bp, long sb, _ntl_ulong a) 376 376 { 377 377 378 378 379 379 NTL_EFF_BB_MUL_CODE1 … … 382 382 } 383 383 384 static 384 static 385 385 void AddMul1(_ntl_ulong *cp, const _ntl_ulong* bp, long sb, _ntl_ulong a) 386 386 { … … 393 393 394 394 395 static 395 static 396 396 void Mul1_short(_ntl_ulong *cp, const _ntl_ulong *bp, long sb, _ntl_ulong a) 397 397 { 398 398 399 399 400 400 NTL_EFF_SHORT_BB_MUL_CODE1 … … 407 407 408 408 409 static 409 static 410 410 void mul_half(_ntl_ulong *c, _ntl_ulong a, _ntl_ulong b) 411 411 { … … 445 445 446 446 /* 447 * This version of mul3 I got from Weimerskirch, Stebila, 447 * This version of mul3 I got from Weimerskirch, Stebila, 448 448 * and Shantz, "Generic GF(2^m) arithmetic in software 449 449 * an its application to ECC" (ACISP 2003). … … 462 462 mul1_IL(d12, a[1]^a[2], b[1]^b[2]); 463 463 464 464 465 465 c[0] = d0[0]; 466 466 c[1] = d0[1] ^ d01[0] ^ d1[0] ^ d0[0]; … … 484 484 485 485 mul2(c, a, b); 486 mul2(c+4, a+2, b+2); 486 mul2(c+4, a+2, b+2); 487 487 mul2(hl2, hs0, hs1); 488 488 … … 491 491 hl2[2] = hl2[2] ^ c[2] ^ c[6]; 492 492 hl2[3] = hl2[3] ^ c[3] ^ c[7]; 493 493 494 494 c[2] ^= hl2[0]; 495 495 c[3] ^= hl2[1]; … … 504 504 _ntl_ulong hl2[6]; 505 505 506 hs0[0] = a[0] ^ a[3]; 506 hs0[0] = a[0] ^ a[3]; 507 507 hs0[1] = a[1] ^ a[4]; 508 508 hs0[2] = a[2]; 509 hs1[0] = b[0] ^ b[3]; 509 hs1[0] = b[0] ^ b[3]; 510 510 hs1[1] = b[1] ^ b[4]; 511 511 hs1[2] = b[2]; 512 512 513 mul3(c, a, b); 513 mul3(c, a, b); 514 514 mul3(hl2, hs0, hs1); 515 515 mul2(c+6, a+3, b+3); 516 516 517 hl2[0] = hl2[0] ^ c[0] ^ c[6]; 517 hl2[0] = hl2[0] ^ c[0] ^ c[6]; 518 518 hl2[1] = hl2[1] ^ c[1] ^ c[7]; 519 519 hl2[2] = hl2[2] ^ c[2] ^ c[8]; … … 522 522 hl2[5] = hl2[5] ^ c[5]; 523 523 524 524 525 525 c[3] ^= hl2[0]; 526 526 c[4] ^= hl2[1]; … … 537 537 _ntl_ulong hl2[6]; 538 538 539 hs0[0] = a[0] ^ a[3]; 539 hs0[0] = a[0] ^ a[3]; 540 540 hs0[1] = a[1] ^ a[4]; 541 541 hs0[2] = a[2] ^ a[5]; 542 hs1[0] = b[0] ^ b[3]; 542 hs1[0] = b[0] ^ b[3]; 543 543 hs1[1] = b[1] ^ b[4]; 544 544 hs1[2] = b[2] ^ b[5]; 545 545 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); 549 549 550 550 hl2[0] = hl2[0] ^ c[0] ^ c[6]; … … 554 554 hl2[4] = hl2[4] ^ c[4] ^ c[10]; 555 555 hl2[5] = hl2[5] ^ c[5] ^ c[11]; 556 556 557 557 c[3] ^= hl2[0]; 558 558 c[4] ^= hl2[1]; … … 569 569 _ntl_ulong hl2[8]; 570 570 571 hs0[0] = a[0] ^ a[4]; 571 hs0[0] = a[0] ^ a[4]; 572 572 hs0[1] = a[1] ^ a[5]; 573 573 hs0[2] = a[2] ^ a[6]; 574 574 hs0[3] = a[3]; 575 hs1[0] = b[0] ^ b[4]; 575 hs1[0] = b[0] ^ b[4]; 576 576 hs1[1] = b[1] ^ b[5]; 577 577 hs1[2] = b[2] ^ b[6]; 578 578 hs1[3] = b[3]; 579 579 580 mul4(c, a, b); 580 mul4(c, a, b); 581 581 mul4(hl2, hs0, hs1); 582 mul3(c+8, a+4, b+4); 582 mul3(c+8, a+4, b+4); 583 583 584 584 hl2[0] = hl2[0] ^ c[0] ^ c[8]; … … 590 590 hl2[6] = hl2[6] ^ c[6]; 591 591 hl2[7] = hl2[7] ^ c[7]; 592 592 593 593 c[4] ^= hl2[0]; 594 594 c[5] ^= hl2[1]; … … 607 607 _ntl_ulong hl2[8]; 608 608 609 hs0[0] = a[0] ^ a[4]; 609 hs0[0] = a[0] ^ a[4]; 610 610 hs0[1] = a[1] ^ a[5]; 611 611 hs0[2] = a[2] ^ a[6]; 612 612 hs0[3] = a[3] ^ a[7]; 613 hs1[0] = b[0] ^ b[4]; 613 hs1[0] = b[0] ^ b[4]; 614 614 hs1[1] = b[1] ^ b[5]; 615 615 hs1[2] = b[2] ^ b[6]; 616 616 hs1[3] = b[3] ^ b[7]; 617 617 618 mul4(c, a, b); 618 mul4(c, a, b); 619 619 mul4(c+8, a+4, b+4); 620 mul4(hl2, hs0, hs1); 620 mul4(hl2, hs0, hs1); 621 621 622 622 hl2[0] = hl2[0] ^ c[0] ^ c[8]; … … 628 628 hl2[6] = hl2[6] ^ c[6] ^ c[14]; 629 629 hl2[7] = hl2[7] ^ c[7] ^ c[15]; 630 630 631 631 c[4] ^= hl2[0]; 632 632 c[5] ^= hl2[1]; … … 640 640 641 641 static 642 void KarMul(_ntl_ulong *c, const _ntl_ulong *a, const _ntl_ulong *b, 642 void KarMul(_ntl_ulong *c, const _ntl_ulong *a, const _ntl_ulong *b, 643 643 long len, _ntl_ulong *stk) 644 644 { … … 717 717 return; 718 718 } 719 719 720 720 _ntl_ulong a0 = a.xrep[0]; 721 721 _ntl_ulong b0 = b.xrep[0]; … … 868 868 return; 869 869 } 870 870 871 871 _ntl_ulong a0 = a.xrep[0]; 872 872 _ntl_ulong b0 = b.xrep[0]; … … 1057 1057 } 1058 1058 } 1059 return; 1059 return; 1060 1060 1061 1061 case 7: { … … 1098 1098 } 1099 1099 } 1100 return; 1100 return; 1101 1101 1102 1102 case 8: { … … 1143 1143 } 1144 1144 } 1145 return; 1145 return; 1146 1146 1147 1147 } … … 1183 1183 // finally: the general case 1184 1184 1185 1185 1186 1186 static WordVector mem; 1187 1187 static WordVector stk; … … 1244 1244 if (sa == 1) { 1245 1245 AddMul1(cp, bp, sb, ap[0]); 1246 1246 1247 1247 break; 1248 1248 } … … 1253 1253 KarMul(v, ap, bp + i, sa, stk_p); 1254 1254 for (j = 0; j < 2*sa; j++) 1255 cp[i+j] ^= v[j]; 1255 cp[i+j] ^= v[j]; 1256 1256 } 1257 1257 … … 1314 1314 } 1315 1315 } 1316 else if (n*NTL_BITS_PER_LONG <= m) 1316 else if (n*NTL_BITS_PER_LONG <= m) 1317 1317 x = a; 1318 1318 else { … … 1334 1334 } 1335 1335 } 1336 1336 1337 1337 1338 1338 /****** implementation of vec_GF2X ******/ … … 1376 1376 static _ntl_ulong sqrtab[256] = { 1377 1377 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, 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, 1409 1409 21825UL, 21828UL, 21829UL, 21840UL, 21841UL, 21844UL, 21845UL }; 1410 1410 … … 1412 1412 1413 1413 1414 static inline 1414 static inline 1415 1415 void sqr1(_ntl_ulong *c, _ntl_ulong a) 1416 1416 { … … 1461 1461 1462 1462 if (n < 0) { 1463 if (n < -NTL_MAX_LONG) 1463 if (n < -NTL_MAX_LONG) 1464 1464 clear(c); 1465 1465 else … … 1535 1535 if (bn) ss++; 1536 1536 1537 if (ss > sc) 1537 if (ss > sc) 1538 1538 c.xrep.SetLength(ss); 1539 1539 … … 1614 1614 static _ntl_ulong revtab[256] = { 1615 1615 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 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 1644 1644 _ntl_ulong rev1(_ntl_ulong a) 1645 1645 { … … 1675 1675 1676 1676 c.xrep.SetLength(wn); 1677 1677 1678 1678 _ntl_ulong *cp = c.xrep.elts(); 1679 1679 const _ntl_ulong *ap = a.xrep.elts(); … … 1737 1737 r = n - lw*BytesPerLong; 1738 1738 1739 if (r != 0) 1739 if (r != 0) 1740 1740 lw++; 1741 1741 else
Note: See TracChangeset
for help on using the changeset viewer.