diff options
-rw-r--r-- | coreutils/factor.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/coreutils/factor.c b/coreutils/factor.c index 4a13181..7400174 100644 --- a/coreutils/factor.c +++ b/coreutils/factor.c @@ -203,6 +203,23 @@ static NOINLINE void factorize(wide_t N) int factor_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int factor_main(int argc UNUSED_PARAM, char **argv) { +#if 0 /* test isqrt() correctness */ + wide_t n = argv[1] ? bb_strtoull(argv[1], NULL, 0) : time(NULL); + for (;;) { + half_t h; + if (--n == 0) + --n; + h = isqrt(n); + if (!(n & 0xff)) + printf("isqrt(%llx)=%"HALF_FMT"x\n", n, h); + if ((wide_t)h * h > n) + return 1; + h++; + if (h != 0 && (wide_t)h * h <= n) + return 1; + } +#endif + //// coreutils has undocumented option ---debug (three dashes) //getopt32(argv, ""); //argv += optind; |