Commit graph

6442 commits

Author SHA1 Message Date
Heather
4e2cd4dd24 Merge pull request #580 from jbcrail/remove-unused-feature
Remove unused feature from cat.
2015-05-08 07:46:21 +03:00
Heather
a457a870e9 Merge pull request #558 from kwantam/master
slight refactor in `unexpand` ; fix and optimize `factor` ; fix `touch`, `test`, `tac`, `shuf`, `sleep` ; merge PR from @ctjhoa for `cksum`
2015-05-08 07:45:58 +03:00
kwantam
ff24d48e73 modify factor impl to eliminate overflow issue
This change does the following:

1. Updates the arithmetic functions in `src/factor/numeric.rs` to
   correctly handle all cases up to 2^64. When numbers are larger
   than 2^63, we fall back to slightly slower routines that check
   for and handle overflow.

2. Since the arithmetic functions will now not overflow, we no longer
   need the safety net trial division implementation. We now always
   use Pollard's rho after eliminating small (<=13 bit) primes.

3. Slight tweak in `src/factor/gen_table.rs` to generate the first
   1027 primes, which means we test every prime of 13 or fewer bits
   before going into Pollard's rho. Includes corresponding update in
   `src/factor/prime_table.rs` and the Makefile to reflect this.

4. Add a new test that generates random numbers with exclusively
   large (14 to 50 bit) prime factors. This exercises the possible
   overflow paths.

5. Add another new test that checks the `is_prime()` function against
   a few dozen 64-bit primes. Again this is to exercise possible
   overflow paths.
2015-05-08 00:06:35 -04:00
Joseph Crail
dfaee63cd3 Remove unused feature from cat. 2015-05-07 23:02:47 -04:00
kwantam
7565c27c00 fixed sleep 2015-05-07 18:13:40 -04:00
Camille TJHOA
d8f58305d6 new io cksum (includes BufReader fix)
closes kwantam/coreutils#1 via cherry-pick
2015-05-07 18:13:40 -04:00
kwantam
d89fbedf12 fix shuf 2015-05-07 18:13:39 -04:00
kwantam
4390e4ffa6 fix tac 2015-05-07 18:13:39 -04:00
kwantam
9a806346a9 add test for factor
Add a test for `factor`.

This commit also pulls factor's Sieve implementation into its own module
so that the factor test can use it.

Finally, slight refactoring for clarity in gen_table.rs.
2015-05-07 18:13:39 -04:00
kwantam
cab4f8d570 fix test 2015-05-07 18:12:32 -04:00
kwantam
1c93a793e9 fix touch 2015-05-07 18:12:32 -04:00
kwantam
6c4e967fc6 fix and slight optimization for factor
This commit builds upon @wikol's Pollard rho implementation.
It adds the following:

1. A generator for prime inverse tables. With these, we can do
   very fast divisibility tests (a single multiply and comparison)
   for small primes (presently, the first 1000 primes are in the
   table, which means all numbers of ~26 bits or less can be
   factored very quickly.

2. Always try prime inverse tables before jumping into Pollard's
   rho method or using trial division.

3. Since we have eliminated all small factors by the time we're
   done with the table division, only use slow trial division when
   the number is big enough to cause overflow issues in Pollard's
   rho, and jump out of trial division and into Pollard's rho as
   soon as the number is small enough.

4. Updates the Makefile to regenerate the prime table if it's not
   up-to-date.
2015-05-07 18:12:32 -04:00
Wiktor Kuropatwa
06b70877db factor: Rho-Pollard factorization implementation 2015-05-07 18:12:32 -04:00
kwantam
cee1837879 slight clarification / refactoring in unexpand
This keeps equivalent functionality but makes the code slightly cleaner.
Also added one more test case.
2015-05-07 18:12:32 -04:00
Joseph Crail
b8fb64a35a Fix broken seq tests. 2015-05-07 17:09:57 -04:00
Heather
d290c9bdfd Merge pull request #577 from jbcrail/add-test-check
Add a new makefile rule to check for test errors.
2015-05-08 00:02:07 +03:00
Heather
4494a13051 Merge pull request #576 from jbcrail/update-paste
Update paste and add test.
2015-05-08 00:00:38 +03:00
Joseph Crail
0736855c3d Add a new makefile rule to check for test errors.
This rule will test each program, ignore all output, and return pass or
fail depending on whether the test has errors. This is the equivalent of
"make build-check", but for tests.
2015-05-07 16:59:34 -04:00
Joseph Crail
0ea0e7504a Add test for paste. 2015-05-07 16:51:55 -04:00
Joseph Crail
b00a49eab2 Unescape all special characters in delimiter list. 2015-05-07 16:50:54 -04:00
Joseph Crail
773eeb6d5e Update paste to nightly build. 2015-05-07 16:49:07 -04:00
Heather
22093d1e5a Merge pull request #574 from ctjhoa/master
Update comm to new_io
2015-05-07 07:42:23 +03:00
Heather
fbb8d70e78 Merge pull request #575 from jbcrail/fix-env-with-tests
Fix env and add tests.
2015-05-07 07:41:57 +03:00
Joseph Crail
5d7a7fd875 Add test support for env to Makefile. 2015-05-07 00:04:41 -04:00
Joseph Crail
500bbbfa83 Fix env and add tests.
I updated env to use the nightly build. I also added several tests.
2015-05-06 23:59:58 -04:00
Camille TJHOA
53f62cdd6f Update comm to new_io 2015-05-07 01:05:30 +02:00
Heather
1f2b68251f Merge pull request #573 from jbcrail/fix-link-sum
Fix link and sum.
2015-05-07 00:21:09 +03:00
Heather
5ec1c7bea4 Merge pull request #570 from jbcrail/fix-sort-test
Fix failing test for sort.
2015-05-07 00:19:53 +03:00
Joseph Crail
0c883155f5 Fix sum. 2015-05-06 14:12:30 -04:00
Joseph Crail
6911c7e2ce Fix link. 2015-05-06 13:38:45 -04:00
Joseph Crail
8140208cd0 Check return value of read(). 2015-05-06 13:37:57 -04:00
Heather
7c732bcefe Merge pull request #571 from jbcrail/fix-cp
Fix cp.
2015-05-06 07:43:16 +03:00
Heather
b8232eccab Merge pull request #572 from jbcrail/fix-realpath-relpath
Fix realpath and relpath.
2015-05-06 07:38:46 +03:00
Joseph Crail
b854a3161a Fix realpath and relpath.
I used the new Path/PathBuf/PathExt libraries.
2015-05-06 00:14:13 -04:00
Joseph Crail
c31ad75226 Fix cp.
I used the new File/Path libraries. The canonicalize method made much of
paths_refer_to_same_file() redundant.
2015-05-05 19:42:38 -04:00
Joseph Crail
b809af601a Fix failing test for sort.
The sorted values were not outputted using a newline.
2015-05-05 19:39:30 -04:00
Heather
5bdd303d68 Merge pull request #569 from jbcrail/rewrite-tee
Rewrite tee to conform to nightly build.
2015-05-05 07:34:06 +03:00
Joseph Crail
cec0a29b93 Rewrite tee.
The utility need a substantial rewrite due to library changes and
lifetime issues. I needed to implement the MultiWriter struct since it
was no longer available.
2015-05-05 00:08:54 -04:00
Heather
15acf2a2b5 Merge pull request #566 from jbcrail/update-tty
Update tty and ignore build directories.
2015-05-04 08:32:26 +03:00
Heather
dcb38bdf1a Merge pull request #567 from jbcrail/fix-sort
Fix sort.
2015-05-04 08:31:45 +03:00
Joseph Crail
b0f531c7a3 Fix sort.
Minor corrections: upgrade to new libraries, remove unused features, use
new slicing syntax.
2015-05-03 17:42:01 -04:00
Joseph Crail
6de22f91a9 Update tty's options to conform to GNU version. 2015-05-03 17:11:42 -04:00
Joseph Crail
e002caedc3 Ignore Cargo dependency directories. 2015-05-03 17:11:29 -04:00
Michael Gehring
88ab6cfff7 Merge pull request #563 from jbcrail/fix-printenv
Fix printenv.
2015-05-03 11:49:13 +02:00
Michael Gehring
b830fc87b6 Merge pull request #564 from jbcrail/fix-hostid-pwd
Fix hostid and pwd.
2015-05-03 11:40:07 +02:00
Joseph Crail
965a770841 Remove quotes from current directory. 2015-05-02 21:05:30 -04:00
Joseph Crail
c4ae971e8c Fix hostid and pwd.
Minor library upgrades and whitespace corrections.
2015-05-01 22:00:53 -04:00
Joseph Crail
930896bac1 Fix printenv.
Minor corrections and upgrade to new env variable module.
2015-05-01 15:54:49 -04:00
Heather
2f9f83230d Merge pull request #562 from jbcrail/fix-groups-logname
Fix groups and logname.
2015-05-01 17:13:57 +03:00
Joseph Crail
c7d07315b8 Fix groups and logname.
Minor upgrades and whitespace corrections.
2015-04-30 17:56:35 -04:00