- Timestamp:
- Oct 16, 2007, 4:47:17 PM (17 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- f8c656fb004951aa0c1a4bb2c29b815065a61c69
- Parents:
- 0eaaf64a76dc074505a4f63a9f556ddc5e08b19a
- Location:
- ntl
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
ntl/README
r0eaaf6 r447abc 1 NTL -- a library for doing numbery theory -- version 5.4 2 Release date: 200 5.03.251 NTL -- a library for doing numbery theory -- version 5.4.1 2 Release date: 2007.05.09 3 3 4 4 Author: Victor Shoup (victor@shoup.net) … … 19 19 The latest version of NTL is available at http://www.shoup.net. 20 20 21 The sources have been modified for Singular- 2-0-7 / Singular-3-0-121 The sources have been modified for Singular-3-0-3 22 22 - for errors blame singular@mathematik.uni-kl.de, 23 23 not Victor Shoup (victor@shoup.net) -
ntl/doc/copying.txt
r0eaaf6 r447abc 3 3 4 4 NTL -- A Library for Doing Number Theory 5 Copyright (C) 1996-200 5Victor Shoup5 Copyright (C) 1996-2007 Victor Shoup 6 6 7 7 The most recent version of NTL is available at http://www.shoup.net -
ntl/doc/quad_float.txt
r0eaaf6 r447abc 293 293 dealing with DP and similar techniques, arranged chronologically. 294 294 295 295 296 Kahan, W., Further Remarks on Reducing Truncation Errors, 296 297 {\it Comm.\ ACM\/} {\bf 8} (1965), 40. … … 366 367 addition/subtraction, gives other summation algorithms. 367 368 369 Another relevant paper: 370 371 X. S. Li, et al. 372 Design, implementation, and testing of extended and mixed 373 precision BLAS. ACM Trans. Math. Soft., 28:152-205, 2002. 374 375 376 368 377 \***********************************************************************/ 369 378 -
ntl/doc/tour-changes.html
r0eaaf6 r447abc 17 17 </p> 18 18 </h1> 19 20 <p> <hr> <p> 21 <h3> 22 2007.05.09: Changes between NTL 5.4 and 5.4.1 23 </h3> 24 25 <ul> 26 <li> 27 Fixed rounding bug in <tt>expm1</tt> (reported by Paul Zimmerman). 28 29 <li> 30 Fixed memory leak in several LLL routines (reported by Friedrich Bahr). 31 32 <li> 33 Fixed infinite loop in several LLL routines 34 (this only occurred on machines, like x86, with double rounding). 35 36 <li> 37 Improved <tt>GF2X</tt> timing tests (suggested by Paul Zimmerman). 38 39 </ul> 19 40 20 41 <p> <hr> <p> -
ntl/include/NTL/tools.h
r0eaaf6 r447abc 257 257 258 258 void Error(const char *s); 259 260 261 259 inline double GetTime() { return _ntl_GetTime(); } 262 263 260 inline long IsFinite(double *p) { return _ntl_IsFinite(p); } 261 262 263 #if (NTL_EXT_DOUBLE) 264 264 inline void ForceToMem(double *p) { _ntl_ForceToMem(p); } 265 #else 266 inline void ForceToMem(double *p) { } 267 #endif 265 268 266 269 -
ntl/include/NTL/version.h
r0eaaf6 r447abc 3 3 #define NTL_version__H 4 4 5 #define NTL_VERSION "5.4 "5 #define NTL_VERSION "5.4.1" 6 6 7 7 #define NTL_MAJOR_VERSION (5) 8 8 #define NTL_MINOR_VERSION (4) 9 #define NTL_REVISION ( 0)9 #define NTL_REVISION (1) 10 10 11 11 #endif -
ntl/src/DoConfig
r0eaaf6 r447abc 77 77 foreach $arg (@ARGV) { 78 78 79 if ($arg =~ ' ^-h|help|-help|--help') {79 if ($arg =~ '-h|help|-help|--help') { 80 80 system("more ../doc/config.txt"); 81 81 exit; -
ntl/src/GF2XTimeTest.c
r0eaaf6 r447abc 81 81 82 82 83 n = 5*NTL_BITS_PER_LONG;84 s = 64;83 n = 16; 84 s = 56; 85 85 86 86 GF2X *a = new GF2X[s]; … … 90 90 91 91 for (k = 0; k < s; k++) { 92 random(a[k], n);93 random(b[k], n);92 random(a[k], (n + (k % 7))*NTL_BITS_PER_LONG); 93 random(b[k], (n + (k % 8))*NTL_BITS_PER_LONG); 94 94 } 95 95 … … 102 102 t = GetTime(); 103 103 for (i = 0; i < iter; i++) { 104 for (j = 0; j < 50; j++) for (k = 0; k < s; k++) mul(c, a[k], b[k]);104 for (j = 0; j < 1; j++) for (k = 0; k < s; k++) mul(c, a[k], b[k]); 105 105 } 106 106 t = GetTime() - t; … … 118 118 t = GetTime(); 119 119 for (i = 0; i < iter; i++) { 120 for (j = 0; j < 50; j++) for (k = 0; k < s; k++) mul(c, a[k], b[k]);120 for (j = 0; j < 1; j++) for (k = 0; k < s; k++) mul(c, a[k], b[k]); 121 121 } 122 122 t = GetTime() - t; -
ntl/src/G_LLL_FP.c
r0eaaf6 r447abc 595 595 596 596 597 //cerr << "G_LLL_FP: warning--relaxing reduction (" << log_red << ")\n"; 598 597 599 if (log_red < 4) 598 600 Error("G_LLL_FP: too much loss of precision...stop!"); 599 601 } 602 603 604 #if 0 605 606 static void print_mus(double **mu, long k) 607 { 608 long i; 609 610 for (i = k-1; i >= 1; i--) 611 cerr << mu[k][i] << " "; 612 cerr << "\n"; 613 } 614 615 #endif 600 616 601 617 … … 659 675 GivensComputeGS(B1, mu, aux, k, n, cache); 660 676 677 if (swap_cnt > 200000) { 678 Error("G_LLL_FP: swap loop?\n"); 679 swap_cnt = 0; 680 } 681 661 682 counter = 0; 662 683 trigger_index = k; … … 678 699 if ((counter >> 7) == 1 || new_sz < sz) { 679 700 sz = new_sz; 701 } 702 else { 703 Error( "G_LLL_FP: warning--infinite loop?\n"); 680 704 } 681 705 } … … 887 911 // clean-up 888 912 889 for (i = 1; i <= m ; i++) {913 for (i = 1; i <= m+dep; i++) { 890 914 delete [] B1[i]; 891 915 } … … 893 917 delete [] B1; 894 918 895 for (i = 1; i <= m ; i++) {919 for (i = 1; i <= m+dep; i++) { 896 920 delete [] mu[i]; 897 921 } … … 899 923 delete [] mu; 900 924 901 for (i = 1; i <= m ; i++) {925 for (i = 1; i <= m+dep; i++) { 902 926 delete [] aux[i]; 903 927 } … … 915 939 verbose = verb; 916 940 NumSwaps = 0; 917 if (verbose) {918 StartTime = GetTime();919 LastTime = StartTime;920 }921 941 922 942 if (delta < 0.50 || delta >= 1) Error("G_LLL_FP: bad delta"); … … 930 950 verbose = verb; 931 951 NumSwaps = 0; 932 if (verbose) {933 StartTime = GetTime();934 LastTime = StartTime;935 }936 952 937 953 if (delta < 0.50 || delta >= 1) Error("G_LLL_FP: bad delta"); … … 1186 1202 double tt1; 1187 1203 1188 if (verb) {1189 tt1 = GetTime();1190 }1191 1192 1204 for (i = jj; i <= kk; i++) { 1193 1205 c[i] = mu[i][i]*mu[i][i]; … … 1221 1233 ctilda[t] = ctilda[t+1] + 1222 1234 (yvec[t]+utildavec[t])*(yvec[t]+utildavec[t])*c[t]; 1235 1236 ForceToMem(&ctilda[t]); // prevents an infinite loop 1223 1237 1224 1238 if (prune > 0 && t > jj) { … … 1263 1277 } 1264 1278 1265 if (verb) {1266 tt1 = GetTime() - tt1;1267 enum_time += tt1;1268 }1269 1270 1279 NumIterations++; 1271 1280 … … 1427 1436 } 1428 1437 1429 for (i = 1; i <= m +1; i++) {1438 for (i = 1; i <= m_orig+1; i++) { 1430 1439 delete [] B1[i]; 1431 1440 } … … 1433 1442 delete [] B1; 1434 1443 1435 for (i = 1; i <= m +1; i++) {1444 for (i = 1; i <= m_orig+1; i++) { 1436 1445 delete [] mu[i]; 1437 1446 } … … 1439 1448 delete [] mu; 1440 1449 1441 for (i = 1; i <= m +1; i++) {1450 for (i = 1; i <= m_orig+1; i++) { 1442 1451 delete [] aux[i]; 1443 1452 } … … 1462 1471 verbose = verb; 1463 1472 NumSwaps = 0; 1464 if (verbose) {1465 StartTime = GetTime();1466 LastTime = StartTime;1467 }1468 1473 1469 1474 if (delta < 0.50 || delta >= 1) Error("G_BKZ_FP: bad delta"); … … 1478 1483 verbose = verb; 1479 1484 NumSwaps = 0; 1480 if (verbose) {1481 StartTime = GetTime();1482 LastTime = StartTime;1483 }1484 1485 1485 1486 if (delta < 0.50 || delta >= 1) Error("G_BKZ_FP: bad delta"); -
ntl/src/G_LLL_QP.c
r0eaaf6 r447abc 609 609 log_red--; 610 610 611 //cerr << "G_LLL_QP: warning--relaxing reduction (" << log_red << ")\n"; 612 611 613 if (log_red < 4) 612 614 Error("G_LLL_QP: too much loss of precision...stop!"); … … 680 682 681 683 counter++; 684 if (counter > 10000) { 685 Error("G_LLL_QP: warning--possible infinite loop\n"); 686 counter = 0; 687 } 682 688 683 689 … … 891 897 // clean-up 892 898 893 for (i = 1; i <= m ; i++) {899 for (i = 1; i <= m+dep; i++) { 894 900 delete [] B1[i]; 895 901 } … … 897 903 delete [] B1; 898 904 899 for (i = 1; i <= m ; i++) {905 for (i = 1; i <= m+dep; i++) { 900 906 delete [] mu[i]; 901 907 } … … 903 909 delete [] mu; 904 910 905 for (i = 1; i <= m ; i++) {911 for (i = 1; i <= m+dep; i++) { 906 912 delete [] aux[i]; 907 913 } … … 919 925 verbose = verb; 920 926 NumSwaps = 0; 921 if (verbose) {922 StartTime = GetTime();923 LastTime = StartTime;924 }925 927 926 928 if (delta < 0.50 || delta >= 1) Error("G_LLL_QP: bad delta"); … … 934 936 verbose = verb; 935 937 NumSwaps = 0; 936 if (verbose) {937 StartTime = GetTime();938 LastTime = StartTime;939 }940 941 938 942 939 if (delta < 0.50 || delta >= 1) Error("G_LLL_QP: bad delta"); … … 1188 1185 } 1189 1186 1190 1191 1187 // ENUM 1192 1188 1193 1189 double tt1; 1194 1195 if (verb) {1196 tt1 = GetTime();1197 }1198 1190 1199 1191 for (i = jj; i <= kk; i++) { … … 1275 1267 } 1276 1268 1277 if (verb) {1278 tt1 = GetTime() - tt1;1279 enum_time += tt1;1280 }1281 1282 1269 NumIterations++; 1283 1270 … … 1442 1429 } 1443 1430 1444 for (i = 1; i <= m +1; i++) {1431 for (i = 1; i <= m_orig+1; i++) { 1445 1432 delete [] B1[i]; 1446 1433 } … … 1448 1435 delete [] B1; 1449 1436 1450 for (i = 1; i <= m +1; i++) {1437 for (i = 1; i <= m_orig+1; i++) { 1451 1438 delete [] mu[i]; 1452 1439 } … … 1454 1441 delete [] mu; 1455 1442 1456 for (i = 1; i <= m +1; i++) {1443 for (i = 1; i <= m_orig+1; i++) { 1457 1444 delete [] aux[i]; 1458 1445 } … … 1478 1465 verbose = verb; 1479 1466 NumSwaps = 0; 1480 if (verbose) {1481 StartTime = GetTime();1482 LastTime = StartTime;1483 }1484 1467 1485 1468 … … 1495 1478 verbose = verb; 1496 1479 NumSwaps = 0; 1497 if (verbose) {1498 StartTime = GetTime();1499 LastTime = StartTime;1500 }1501 1502 1503 1480 1504 1481 if (delta < 0.50 || delta >= 1) Error("G_BKZ_QP: bad delta"); … … 1679 1656 double tt1; 1680 1657 1681 if (verb) {1682 tt1 = GetTime();1683 }1684 1685 1658 for (i = jj; i <= kk; i++) { 1686 1659 c[i] = mu[i][i]*mu[i][i]; … … 1715 1688 ctilda[t] = ctilda[t+1] + 1716 1689 (yvec[t]+utildavec[t])*(yvec[t]+utildavec[t])*to_double(c[t]); 1690 1691 ForceToMem(&ctilda[t]); // prevents an infinite loop 1717 1692 1718 1693 if (prune > 0 && t > jj) { … … 1763 1738 } 1764 1739 1765 if (verb) {1766 tt1 = GetTime() - tt1;1767 enum_time += tt1;1768 }1769 1770 1740 NumIterations++; 1771 1741 … … 1907 1877 1908 1878 1909 1910 1879 // clean up 1911 1880 … … 1933 1902 } 1934 1903 1935 for (i = 1; i <= m +1; i++) {1904 for (i = 1; i <= m_orig+1; i++) { 1936 1905 delete [] B1[i]; 1937 1906 } … … 1939 1908 delete [] B1; 1940 1909 1941 for (i = 1; i <= m +1; i++) {1910 for (i = 1; i <= m_orig+1; i++) { 1942 1911 delete [] mu[i]; 1943 1912 } … … 1945 1914 delete [] mu; 1946 1915 1947 for (i = 1; i <= m +1; i++) {1916 for (i = 1; i <= m_orig+1; i++) { 1948 1917 delete [] aux[i]; 1949 1918 } … … 1969 1938 verbose = verb; 1970 1939 NumSwaps = 0; 1971 if (verbose) {1972 StartTime = GetTime();1973 LastTime = StartTime;1974 }1975 1976 1940 1977 1941 if (delta < 0.50 || delta >= 1) Error("G_BKZ_QP: bad delta"); … … 1986 1950 verbose = verb; 1987 1951 NumSwaps = 0; 1988 if (verbose) {1989 StartTime = GetTime();1990 LastTime = StartTime;1991 }1992 1993 1994 1952 1995 1953 if (delta < 0.50 || delta >= 1) Error("G_BKZ_QP: bad delta"); -
ntl/src/G_LLL_RR.c
r0eaaf6 r447abc 406 406 log_red--; 407 407 408 cerr << "G_LLL_RR: warning--relaxing reduction (" << log_red << ")\n";408 //cerr << "G_LLL_RR: warning--relaxing reduction (" << log_red << ")\n"; 409 409 410 410 if (log_red < 4) … … 474 474 counter++; 475 475 if (counter > 10000) { 476 cerr << "G_LLL_XD: warning--possible infinite loop\n";476 Error("G_LLL_XD: warning--possible infinite loop\n"); 477 477 counter = 0; 478 478 } … … 669 669 verbose = verb; 670 670 NumSwaps = 0; 671 if (verbose) {672 StartTime = GetTime();673 LastTime = StartTime;674 }675 671 676 672 if (delta < 0.50 || delta >= 1) Error("G_LLL_RR: bad delta"); … … 686 682 verbose = verb; 687 683 NumSwaps = 0; 688 if (verbose) {689 StartTime = GetTime();690 LastTime = StartTime;691 }692 684 693 685 if (delta < 0.50 || delta >= 1) Error("G_LLL_RR: bad delta"); … … 915 907 916 908 double tt1; 917 918 if (verb) {919 tt1 = GetTime();920 }921 909 922 910 for (i = jj; i <= kk; i++) … … 1011 999 } 1012 1000 1013 if (verb) {1014 tt1 = GetTime() - tt1;1015 enum_time += tt1;1016 }1017 1018 1001 NumIterations++; 1019 1002 … … 1184 1167 verbose = verb; 1185 1168 NumSwaps = 0; 1186 if (verbose) {1187 StartTime = GetTime();1188 LastTime = StartTime;1189 }1190 1169 1191 1170 if (delta < 0.50 || delta >= 1) Error("G_BKZ_RR: bad delta"); … … 1203 1182 verbose = verb; 1204 1183 NumSwaps = 0; 1205 if (verbose) {1206 StartTime = GetTime();1207 LastTime = StartTime;1208 }1209 1184 1210 1185 if (delta < 0.50 || delta >= 1) Error("G_BKZ_RR: bad delta"); -
ntl/src/G_LLL_XD.c
r0eaaf6 r447abc 375 375 log_red--; 376 376 377 //cerr << "G_LLL_XD: warning--relaxing reduction (" << log_red << ")\n"; 378 377 379 if (log_red < 4) 378 380 Error("G_LLL_XD: can not continue...sorry"); … … 441 443 442 444 counter++; 445 if (counter > 10000) { 446 Error("G_LLL_XD: warning--possible infinite loop\n"); 447 counter = 0; 448 } 449 443 450 444 451 Fc1 = 0; … … 641 648 // clean-up 642 649 643 for (i = 1; i <= m ; i++) {650 for (i = 1; i <= m+dep; i++) { 644 651 delete [] B1[i]; 645 652 } … … 647 654 delete [] B1; 648 655 649 for (i = 1; i <= m ; i++) {656 for (i = 1; i <= m+dep; i++) { 650 657 delete [] mu[i]; 651 658 } … … 653 660 delete [] mu; 654 661 655 for (i = 1; i <= m ; i++) {662 for (i = 1; i <= m+dep; i++) { 656 663 delete [] aux[i]; 657 664 } … … 669 676 verbose = verb; 670 677 NumSwaps = 0; 671 if (verbose) {672 StartTime = GetTime();673 LastTime = StartTime;674 }675 678 676 679 if (delta < 0.50 || delta >= 1) Error("G_LLL_XD: bad delta"); … … 684 687 verbose = verb; 685 688 NumSwaps = 0; 686 if (verbose) {687 StartTime = GetTime();688 LastTime = StartTime;689 }690 691 689 692 690 if (delta < 0.50 || delta >= 1) Error("G_LLL_XD: bad delta"); … … 940 938 941 939 double tt1; 942 943 if (verb) {944 tt1 = GetTime();945 }946 940 947 941 for (i = jj; i <= kk; i++) … … 1020 1014 } 1021 1015 1022 if (verb) {1023 tt1 = GetTime() - tt1;1024 enum_time += tt1;1025 }1026 1027 1016 NumIterations++; 1028 1017 … … 1182 1171 } 1183 1172 1184 for (i = 1; i <= m +1; i++) {1173 for (i = 1; i <= m_orig+1; i++) { 1185 1174 delete [] B1[i]; 1186 1175 } … … 1188 1177 delete [] B1; 1189 1178 1190 for (i = 1; i <= m +1; i++) {1179 for (i = 1; i <= m_orig+1; i++) { 1191 1180 delete [] mu[i]; 1192 1181 } … … 1194 1183 delete [] mu; 1195 1184 1196 for (i = 1; i <= m +1; i++) {1185 for (i = 1; i <= m_orig+1; i++) { 1197 1186 delete [] aux[i]; 1198 1187 } … … 1218 1207 verbose = verb; 1219 1208 NumSwaps = 0; 1220 if (verbose) {1221 StartTime = GetTime();1222 LastTime = StartTime;1223 }1224 1225 1209 1226 1210 if (delta < 0.50 || delta >= 1) Error("G_BKZ_XD: bad delta"); … … 1235 1219 verbose = verb; 1236 1220 NumSwaps = 0; 1237 if (verbose) {1238 StartTime = GetTime();1239 LastTime = StartTime;1240 }1241 1242 1243 1221 1244 1222 if (delta < 0.50 || delta >= 1) Error("G_BKZ_XD: bad delta"); -
ntl/src/LLL_FP.c
r0eaaf6 r447abc 419 419 static long verbose = 0; 420 420 421 double LLLStatusInterval = 900.0; 421 422 char *LLLDumpFile = 0; 422 423 … … 446 447 447 448 449 //cerr << "LLL_FP: warning--relaxing reduction (" << log_red << ")\n"; 450 448 451 if (log_red < 4) 449 452 Error("LLL_FP: too much loss of precision...stop!"); 450 453 } 451 454 455 456 #if 0 457 458 static void print_mus(double **mu, long k) 459 { 460 long i; 461 462 for (i = k-1; i >= 1; i--) 463 cerr << mu[k][i] << " "; 464 cerr << "\n"; 465 } 466 467 #endif 452 468 453 469 void ComputeGS(const mat_ZZ& B, mat_RR& B1, … … 466 482 double tt; 467 483 484 //cerr << "LLL_FP: RR refresh " << rr_st << "..." << k << "..."; 468 485 tt = GetTime(); 469 486 … … 534 551 tt = GetTime()-tt; 535 552 RR_GS_time += tt; 553 //cerr << tt << " (" << RR_GS_time << ")\n"; 536 554 } 537 555 … … 686 704 687 705 if (swap_cnt > 200000) { 706 Error("LLL_FP: swap loop?\n"); 688 707 RR_GS(B, B1, mu, b, c, buf, prec, 689 708 rr_st, k, m_orig, rr_B1, rr_mu, rr_b, rr_c); … … 717 736 if ((counter >> 7) == 1 || new_sz < sz) { 718 737 sz = new_sz; 738 } 739 else { 740 Error("LLL_FP: warning--infinite loop?\n"); 719 741 } 720 742 } … … 990 1012 // clean-up 991 1013 992 for (i = 1; i <= m ; i++) {1014 for (i = 1; i <= m+dep; i++) { 993 1015 delete [] B1[i]; 994 1016 } … … 996 1018 delete [] B1; 997 1019 998 for (i = 1; i <= m ; i++) {1020 for (i = 1; i <= m+dep; i++) { 999 1021 delete [] mu[i]; 1000 1022 } … … 1017 1039 RR_GS_time = 0; 1018 1040 NumSwaps = 0; 1019 if (verbose) {1020 StartTime = GetTime();1021 LastTime = StartTime;1022 }1023 1041 1024 1042 if (delta < 0.50 || delta >= 1) Error("LLL_FP: bad delta"); … … 1033 1051 RR_GS_time = 0; 1034 1052 NumSwaps = 0; 1035 if (verbose) {1036 StartTime = GetTime();1037 LastTime = StartTime;1038 }1039 1053 1040 1054 if (delta < 0.50 || delta >= 1) Error("LLL_FP: bad delta"); … … 1290 1304 double tt1; 1291 1305 1292 if (verb) {1293 tt1 = GetTime();1294 }1295 1296 1297 1306 if (prune > 0) 1298 1307 ComputeBKZThresh(&c[jj], kk-jj+1); … … 1322 1331 ctilda[t] = ctilda[t+1] + 1323 1332 (yvec[t]+utildavec[t])*(yvec[t]+utildavec[t])*c[t]; 1333 1334 ForceToMem(&ctilda[t]); // prevents an infinite loop 1324 1335 1325 1336 if (prune > 0 && t > jj) { … … 1364 1375 } 1365 1376 1366 if (verb) {1367 tt1 = GetTime() - tt1;1368 enum_time += tt1;1369 }1370 1371 1377 NumIterations++; 1372 1378 … … 1533 1539 } 1534 1540 1535 for (i = 1; i <= m +1; i++) {1541 for (i = 1; i <= m_orig+1; i++) { 1536 1542 delete [] B1[i]; 1537 1543 } … … 1539 1545 delete [] B1; 1540 1546 1541 for (i = 1; i <= m +1; i++) {1547 for (i = 1; i <= m_orig+1; i++) { 1542 1548 delete [] mu[i]; 1543 1549 } … … 1564 1570 RR_GS_time = 0; 1565 1571 NumSwaps = 0; 1566 if (verbose) {1567 StartTime = GetTime();1568 LastTime = StartTime;1569 }1570 1572 1571 1573 if (delta < 0.50 || delta >= 1) Error("BKZ_FP: bad delta"); … … 1581 1583 RR_GS_time = 0; 1582 1584 NumSwaps = 0; 1583 if (verbose) {1584 StartTime = GetTime();1585 LastTime = StartTime;1586 }1587 1585 1588 1586 if (delta < 0.50 || delta >= 1) Error("BKZ_FP: bad delta"); -
ntl/src/LLL_QP.c
r0eaaf6 r447abc 448 448 log_red--; 449 449 450 //cerr << "LLL_QP: warning--relaxing reduction (" << log_red << ")\n"; 451 450 452 if (log_red < 4) 451 453 Error("LLL_QP: too much loss of precision...stop!"); … … 556 558 counter++; 557 559 if (counter > 10000) { 560 Error("LLL_QP: warning--possible infinite loop\n"); 558 561 counter = 0; 559 562 } … … 799 802 // clean-up 800 803 801 for (i = 1; i <= m ; i++) {804 for (i = 1; i <= m+dep; i++) { 802 805 delete [] B1[i]; 803 806 } … … 805 808 delete [] B1; 806 809 807 for (i = 1; i <= m ; i++) {810 for (i = 1; i <= m+dep; i++) { 808 811 delete [] mu[i]; 809 812 } … … 825 828 verbose = verb; 826 829 NumSwaps = 0; 827 if (verbose) {828 StartTime = GetTime();829 LastTime = StartTime;830 }831 830 832 831 if (delta < 0.50 || delta >= 1) Error("LLL_QP: bad delta"); … … 840 839 verbose = verb; 841 840 NumSwaps = 0; 842 if (verbose) {843 StartTime = GetTime();844 LastTime = StartTime;845 }846 847 841 848 842 if (delta < 0.50 || delta >= 1) Error("LLL_QP: bad delta"); … … 1100 1094 1101 1095 double tt1; 1102 1103 if (verb) {1104 tt1 = GetTime();1105 }1106 1107 1096 1108 1097 if (prune > 0) … … 1177 1166 utildavec[t] = vvec[t] + Deltavec[t]; 1178 1167 } 1179 }1180 1181 if (verb) {1182 tt1 = GetTime() - tt1;1183 enum_time += tt1;1184 1168 } 1185 1169 … … 1350 1334 } 1351 1335 1352 for (i = 1; i <= m +1; i++) {1336 for (i = 1; i <= m_orig+1; i++) { 1353 1337 delete [] B1[i]; 1354 1338 } … … 1356 1340 delete [] B1; 1357 1341 1358 for (i = 1; i <= m +1; i++) {1342 for (i = 1; i <= m_orig+1; i++) { 1359 1343 delete [] mu[i]; 1360 1344 } … … 1381 1365 verbose = verb; 1382 1366 NumSwaps = 0; 1383 if (verbose) {1384 StartTime = GetTime();1385 LastTime = StartTime;1386 }1387 1388 1367 1389 1368 if (delta < 0.50 || delta >= 1) Error("BKZ_QP: bad delta"); … … 1398 1377 verbose = verb; 1399 1378 NumSwaps = 0; 1400 if (verbose) {1401 StartTime = GetTime();1402 LastTime = StartTime;1403 }1404 1405 1406 1379 1407 1380 if (delta < 0.50 || delta >= 1) Error("BKZ_QP: bad delta"); … … 1578 1551 } 1579 1552 1553 1580 1554 // ENUM 1581 1555 1582 1556 double tt1; 1583 1584 if (verb) {1585 tt1 = GetTime();1586 }1587 1588 1557 1589 1558 if (prune > 0) … … 1614 1583 ctilda[t] = ctilda[t+1] + 1615 1584 (yvec[t]+utildavec[t])*(yvec[t]+utildavec[t])*to_double(c[t]); 1585 1586 ForceToMem(&ctilda[t]); // prevents an infinite loop 1616 1587 1617 1588 if (prune > 0 && t > jj) { … … 1660 1631 utildavec[t] = vvec[t] + Deltavec[t]; 1661 1632 } 1662 }1663 1664 if (verb) {1665 tt1 = GetTime() - tt1;1666 enum_time += tt1;1667 1633 } 1668 1634 … … 1835 1801 } 1836 1802 1837 for (i = 1; i <= m +1; i++) {1803 for (i = 1; i <= m_orig+1; i++) { 1838 1804 delete [] B1[i]; 1839 1805 } … … 1841 1807 delete [] B1; 1842 1808 1843 for (i = 1; i <= m +1; i++) {1809 for (i = 1; i <= m_orig+1; i++) { 1844 1810 delete [] mu[i]; 1845 1811 } … … 1866 1832 verbose = verb; 1867 1833 NumSwaps = 0; 1868 if (verbose) {1869 StartTime = GetTime();1870 LastTime = StartTime;1871 }1872 1873 1834 1874 1835 if (delta < 0.50 || delta >= 1) Error("BKZ_QP: bad delta"); … … 1883 1844 verbose = verb; 1884 1845 NumSwaps = 0; 1885 if (verbose) {1886 StartTime = GetTime();1887 LastTime = StartTime;1888 }1889 1890 1891 1846 1892 1847 if (delta < 0.50 || delta >= 1) Error("BKZ_QP: bad delta"); -
ntl/src/LLL_RR.c
r0eaaf6 r447abc 177 177 log_red--; 178 178 179 //cerr << "LLL_RR: warning--relaxing reduction (" << log_red << ")\n"; 180 179 181 if (log_red < 4) 180 182 Error("LLL_RR: can not continue...sorry"); … … 272 274 273 275 counter++; 276 if (counter > 10000) { 277 Error("LLL_XD: warning--possible infinite loop\n"); 278 counter = 0; 279 } 280 274 281 275 282 Fc1 = 0; … … 493 500 verbose = verb; 494 501 NumSwaps = 0; 495 if (verbose) {496 StartTime = GetTime();497 LastTime = StartTime;498 }499 502 500 503 if (delta < 0.50 || delta >= 1) Error("LLL_RR: bad delta"); … … 510 513 verbose = verb; 511 514 NumSwaps = 0; 512 if (verbose) {513 StartTime = GetTime();514 LastTime = StartTime;515 }516 515 517 516 if (delta < 0.50 || delta >= 1) Error("LLL_RR: bad delta"); … … 741 740 742 741 double tt1; 743 744 if (verb) {745 tt1 = GetTime();746 }747 742 748 743 if (prune > 0) … … 833 828 } 834 829 835 if (verb) {836 tt1 = GetTime() - tt1;837 enum_time += tt1;838 }839 840 830 NumIterations++; 841 831 … … 977 967 } 978 968 979 980 969 // clean up 981 970 … … 1010 999 verbose = verb; 1011 1000 NumSwaps = 0; 1012 if (verbose) {1013 StartTime = GetTime();1014 LastTime = StartTime;1015 }1016 1001 1017 1002 if (delta < 0.50 || delta >= 1) Error("BKZ_RR: bad delta"); … … 1029 1014 verbose = verb; 1030 1015 NumSwaps = 0; 1031 if (verbose) {1032 StartTime = GetTime();1033 LastTime = StartTime;1034 }1035 1016 1036 1017 if (delta < 0.50 || delta >= 1) Error("BKZ_RR: bad delta"); -
ntl/src/LLL_XD.c
r0eaaf6 r447abc 198 198 log_red--; 199 199 200 //cerr << "LLL_XD: warning--relaxing reduction (" << log_red << ")\n"; 201 200 202 if (log_red < 4) 201 203 Error("LLL_XD: can not continue...sorry"); … … 300 302 counter++; 301 303 if (counter > 10000) { 304 cerr << "LLL_XD: warning--possible infinite loop\n"; 302 305 counter = 0; 303 306 } … … 530 533 // clean-up 531 534 532 for (i = 1; i <= m ; i++) {535 for (i = 1; i <= m+dep; i++) { 533 536 delete [] B1[i]; 534 537 } … … 536 539 delete [] B1; 537 540 538 for (i = 1; i <= m ; i++) {541 for (i = 1; i <= m+dep; i++) { 539 542 delete [] mu[i]; 540 543 } … … 556 559 verbose = verb; 557 560 NumSwaps = 0; 561 if (verbose) { 562 StartTime = GetTime(); 563 LastTime = StartTime; 564 } 558 565 559 566 if (delta < 0.50 || delta >= 1) Error("LLL_XD: bad delta"); … … 816 823 817 824 double tt1; 818 819 if (verb) {820 tt1 = GetTime();821 }822 825 823 826 if (prune > 0) … … 893 896 } 894 897 895 if (verb) {896 tt1 = GetTime() - tt1;897 enum_time += tt1;898 }899 900 898 NumIterations++; 901 899 … … 1057 1055 } 1058 1056 1059 for (i = 1; i <= m +1; i++) {1057 for (i = 1; i <= m_orig+1; i++) { 1060 1058 delete [] B1[i]; 1061 1059 } … … 1063 1061 delete [] B1; 1064 1062 1065 for (i = 1; i <= m +1; i++) {1063 for (i = 1; i <= m_orig+1; i++) { 1066 1064 delete [] mu[i]; 1067 1065 } … … 1089 1087 NumSwaps = 0; 1090 1088 1091 1092 1089 if (delta < 0.50 || delta >= 1) Error("BKZ_XD: bad delta"); 1093 1090 if (beta < 2) Error("BKZ_XD: bad block size"); … … 1102 1099 NumSwaps = 0; 1103 1100 1104 1105 1101 if (delta < 0.50 || delta >= 1) Error("BKZ_XD: bad delta"); 1106 1102 if (beta < 2) Error("BKZ_XD: bad block size"); -
ntl/src/def_makefile
r0eaaf6 r447abc 437 437 438 438 439 DIRNAME=ntl-5.4 440 WINDIR=WinNTL-5_4 439 DIRNAME=ntl-5.4.1 440 WINDIR=WinNTL-5_4_1 441 441 442 442 package: -
ntl/src/mfile
r0eaaf6 r447abc 437 437 438 438 439 DIRNAME=ntl-5.4 440 WINDIR=WinNTL-5_4 439 DIRNAME=ntl-5.4.1 440 WINDIR=WinNTL-5_4_1 441 441 442 442 package:
Note: See TracChangeset
for help on using the changeset viewer.