nicoo
78ae0cca31
factor: Slightly refactor main loop, fix bug
2020-10-26 15:06:28 -05:00
nicoo
b7b0c76b8e
factor::Decomposition: Optimise as a factor is never added twice
...
The invariant is checked by a debug_assert!, and follows from the previous
commit, as `dec` and `factors` only ever contains coprime numbers:
- true at the start: factor = ∅ and dec = { n¹ } ;
- on every loop iteration, we pull out an element `f` from `dec` and either:
- discover it is prime, and add it to `factors` ;
- split it into a number of coprime factors, that get reinserted into `dec`;
the invariant is maintained, as all divisors of `f` are coprime with all
numbers in `dec` and `factors` (as `f` itself is coprime with them.
As we only add elements to `Decomposition` objects that are coprime with the
existing ones, they are distinct.
2020-10-26 15:06:28 -05:00
nicoo
ce218e01b6
factor: Ensure we only need to find every single factor once [WiP]
...
~17% faster, many optimisation opportunities still missed >:)
2020-10-26 15:06:28 -05:00
nicoo
3743a3e1e7
factor: Derecursify and refactor
...
~7% slowdown, paves the way for upcoming improvements
2020-10-26 15:06:28 -05:00
nicoo
8643489096
factor::Factors: Use a RefCell rather than copy data when printing
...
~2.9% faster than the previous commit, ~11% faster than “master” overall.
2020-10-26 15:06:28 -05:00
nicoo
30f9cf32f2
factor::Decomposition: Use a flat vector representation
...
~18% faster than BTreeMap, and ~5% faster than 'master'
2020-10-26 15:06:27 -05:00
nicoo
b8ef58c002
factor::Factors: Split off a Decomposition type
...
The new type can be used to represent in-progress factorisations,
which contain non-prime factors.
2020-10-26 15:06:27 -05:00
nicoo
6158cd5714
factor: Introduce a type alias for exponents
...
This way, we can easily replace u8 with a larger type when moving to support
larger integers.
2020-10-26 15:06:27 -05:00
Sylvestre Ledru
af151703b3
refactor(rmdir): use clap instead of getopts
2020-10-26 09:53:55 +01:00
Sylvestre Ledru
17a99f8e53
refactor(printenv): use clap instead of getopts
2020-10-26 09:52:53 +01:00
Roy Ivy III
5837bc4fc9
Merge pull request #1610 from sylvestre/sort-clap
...
refactor(sort): move to use of 'clap'
2020-10-25 18:56:58 -05:00
Roy Ivy III
a9fb64abb4
Merge pull request #1612 from sylvestre/clap-seq
...
Move seq to use of 'clap'
2020-10-25 18:56:24 -05:00
Sylvestre Ledru
dc4eb79329
refactor/sort ~ changes based on PR feedback
...
- change `const`=>`static` and remove unneeded help/version (supplied by default by `clap`)
- update of the ABOUT description
- move to alphabetical order (where reasonable)
- rename OPT_FILES => ARG_FILES
- change the order of the declarations
2020-10-25 11:14:15 -05:00
Sylvestre Ledru
7fb5aaa108
only one file is allowed
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 17:07:32 +01:00
Sylvestre Ledru
bd339f142e
Improve the "about" description
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 17:07:17 +01:00
Sylvestre Ledru
58b0aeabee
refactor(sort): move to clap
2020-10-25 11:01:30 -05:00
Sylvestre Ledru
75e1c517a0
refactor/seq ~ changes based on PR feedback
...
- fix the ABOUT description
- rename OPT_NUMBERS => ARG_NUMBERS
- improve the get_usage of seq
- rename seq => incremetal
- `cargo fmt`
2020-10-25 10:58:14 -05:00
Sylvestre Ledru
e06aaace59
refactor/readline ~ changes based on PR feedback
...
- add a trailing "." to ABOUT for consistency
- rename OPT_FILES => ARG_FILES
- move to alphabetical order for OPTIONs (where reasonable)
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 10:54:24 -05:00
Sylvestre Ledru
733fe925ad
refactor(readlink): move to clap
2020-10-25 10:53:09 -05:00
Sylvestre Ledru
dfb922f66e
refactor(seq): use clap instead of doing arg mgmt by hand
2020-10-25 10:46:38 -05:00
Roy Ivy III
58d7d89e07
Merge pull request #1617 from sylvestre/clippy-fix
...
Fix some clippy warnings
2020-10-25 10:35:35 -05:00
Sylvestre Ledru
a12509f32e
Fix some clippy warnings
2020-10-25 15:50:51 +01:00
Sylvestre Ledru
4804e52c97
refactor(users): move to clap and simplify the code a bit
2020-10-25 15:29:02 +01:00
Sylvestre Ledru
7c3dccb981
remove the useless format
2020-10-25 12:28:27 +01:00
Sylvestre Ledru
0d4e36d5cd
reorder the args
2020-10-25 12:27:04 +01:00
Sylvestre Ledru
b72972e0b2
Rename OPT_FILES => ARG_FILES
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 12:22:07 +01:00
Sylvestre Ledru
8ad2fd3534
refactor(truncate): Move to clap
2020-10-23 00:40:46 +02:00
Kevin Burke
7fc1b16115
sort: fix panic on write to closed pipe
...
If the output of sort is piped to another program that closes the file
descriptor, sort currently panics. The GNU coreutils is able to handle
this case.
Replacing panic with crash_if_err reports the closed pipe and exits
with a return code, which seems like the correct behavior. Tested on
my Mac and the panic disappears.
Add a test which pipes data to sort - it won't protect against this
specific regression, but it increases the test coverage, at least.
Fixes #1608 .
2020-10-21 16:55:10 -07:00
Roy Ivy III
92075c7d14
refactor/polish ~ (factor) fix cargo clippy
complaint (unused_imports)
2020-10-16 20:25:49 -05:00
Sylvestre Ledru
fba62f39c6
Merge pull request #1603 from rivy/fix.warnings
...
Fix `cargo clippy` warnings
2020-10-12 09:23:15 +02:00
Roy Ivy III
77a04546f0
fix/printf ~ use calculated VERSION
2020-10-11 17:39:50 -05:00
Roy Ivy III
46f30f3836
refactor/polish ~ fix cargo clippy
complaint (stable_sort_primitive)
2020-10-10 20:35:35 -05:00
Roy Ivy III
10b6926ccc
refactor/polish ~ fix cargo clippy
complaint (allow match_like_matches_macro)
2020-10-10 20:35:35 -05:00
Roy Ivy III
6fa16343f1
refactor/polish ~ fix cargo clippy
complaint (same_item_push)
2020-10-10 20:35:35 -05:00
Roy Ivy III
7b4d81efd4
refactor/polish ~ fix cargo clippy
complaint (needless_collect)
2020-10-10 20:35:35 -05:00
Roy Ivy III
4a041f95e3
Merge pull request #1598 from sylvestre/nproc
...
cleanup(nproc): remove some artifacts from the clap migration
2020-10-10 16:28:22 -05:00
Roy Ivy III
0fa249a944
Fix tr
argument handling for missing arguments ( #1601 )
...
* tests/tr ~ confirm failure for missing argument(s)
* fix/tr ~ mimic GNU error reponse for missing argument(s)
2020-10-02 22:43:57 +02:00
Sylvestre Ledru
c660684a8c
nproc: use the variable name
2020-09-26 23:09:08 +02:00
Sylvestre Ledru
805801ec39
nproc: remove the extern crate declaration
2020-09-26 23:09:02 +02:00
nicoo
9a1c560aba
factor: Refactor and optimise the Factors
datastructure ( #1572 )
...
* factor: Introduce a type alias for exponents
This way, we can easily replace u8 with a larger type when moving to support
larger integers.
* factor::Factors: Split off a Decomposition type
The new type can be used to represent in-progress factorisations,
which contain non-prime factors.
* factor::Decomposition: Use a flat vector representation
~18% faster than BTreeMap, and ~5% faster than “master”.
* factor::Factors: Use a RefCell rather than copy data when printing
~2.9% faster than the previous commit, ~11% faster than “master” overall.
2020-09-21 21:44:50 +02:00
Jens Humrich
bfca334ec1
style issues
2020-09-17 12:40:48 +02:00
Katzmann1983
f322f72c34
Update src/uu/split/src/split.rs
...
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2020-09-17 10:27:40 +02:00
Jens Humrich
5a75905476
Add additional-suffix option to split
2020-09-16 17:59:39 +02:00
Roy Ivy III
2ff6b67077
stat: fix cargo clippy
complaint (unnecessary_sort_by) ( #1594 )
2020-09-04 08:01:53 +02:00
Roy Ivy III
c33284f38b
factor::numeric::gcd: modify divisor()
test to return correct true/false results for all possible inputs
2020-09-03 14:56:14 -05:00
nicoo
07eaa7fe5a
factor::numeric::gcd: Add explicit test for the 0 case
2020-09-03 14:56:14 -05:00
nicoo
c11cebc4d3
factor::numeric::gcd: Exclude the 0 case from test divisor
2020-09-03 14:56:10 -05:00
16yuki0702
19e967ef31
ls: deleting user defined max function ( #1591 )
...
This is trivial refactor.
```usize``` can call max method, so deleting user defined max function.
2020-08-26 09:42:27 +02:00
Roy Ivy III
74510d2fa4
refactor/polish ~ cargo fmt
2020-08-19 09:13:09 -05:00
Roy Ivy III
74200f368b
tests ~ (sub-crate/mknod) fix WSL variation in expected test values
2020-08-19 09:13:09 -05:00
Roy Ivy III
2a50dc42c1
tests ~ (sub-crate/factor) fix divisor(0,0)
test of factor::numeric::gcd() with early value check and return ( fixes #1587 )
2020-08-19 09:13:09 -05:00
Roy Ivy III
5478ca9108
tests ~ (sub-crate/od) fix expected f16 formatted test value
2020-08-10 10:19:42 -05:00
Roy Ivy III
b2483cb3c3
tests ~ (sub-crate/od) fix/remove inadvertent doc test (by using ignore
)
2020-08-10 10:19:42 -05:00
Roy Ivy III
49d17f9587
tests ~ (sub-crate/od) fix compiler error (mismatched types)
2020-08-10 10:19:42 -05:00
Roy Ivy III
4fa27345be
tests ~ (sub-crate/od) fix cargo clippy
complaints (from deprecated half::consts to f16::...)
2020-08-10 10:19:42 -05:00
Roy Ivy III
c7cb5cbc37
tests ~ (sub-crate/cat) fix incorrect test attribute usage
2020-08-10 10:19:42 -05:00
Roy Ivy III
c3893edf94
tests ~ (sub-crates) fix 'edition=2018' module import errors
...
- ref: <https://users.rust-lang.org/t/imports-can-only-refer-to-extern-crate-names/24388 > @@ <https://archive.is/iCaXp >
2020-08-10 10:19:42 -05:00
Roy Ivy III
925137afce
tests ~ (sub-crate/od) fix cargo clippy
complaints (unused imports)
2020-08-10 10:19:41 -05:00
Roy Ivy III
dd72893771
tests ~ (sub-crate/od) fix cargo clippy
complaints (deprecated std::error::Error::description)
2020-08-10 10:19:41 -05:00
nicoo
dc6b9a8d62
CI: Improve annotations ( #1584 )
...
* CI: Only run rustfmt in one environment
- This displays clippy warnings even when rustfmt fails.
- This avoids displaying 3 copies of the same rustfmt warning as Github
annotations.
- Avoids duplicated work.
* CI: Suppress warnings when building for the oldest toolchain version
We had cases of warnings emitted due to `rustc` bugs that were fixed
in non-obsolete versions.
* factor: Remove a workaround for warnings on obsolete rustc
2020-08-10 16:53:32 +02:00
Felipe Lema
ba6b55f117
feature[env]: Add support for --chdir=DIR
in env
( fixes #1568 ) ( #1569 )
2020-08-08 22:26:49 -05:00
nicoo
d9be24e354
factor: Make the implementation of GCD more readable ( #1576 )
...
* factor::numeric::gcd: Switch variable names to be more consistent
* factor::numeric::gcd: Improve comments
* factor::numeric::gcd: Extend loop invariant to v
2020-08-08 22:26:49 -05:00
nicoo
37f717f5e3
factor: Add tests against (random) numbers with known factorisations ( #1573 ) ( #1578 )
...
* factor::Factors: Derive implementations of Eq and PartialEq
* factors::Factors: Implement quickcheck::Arbitrary
This generates uniformly-distributed integers with known factorisations,
and will enable further testing.
* factor: Test against random numbers with known factorisations
* factor::Factors::arbitrary: Simplify method signature
2020-08-08 22:26:25 -05:00
nicoo
34a5941ee9
factor::numeric: Add more property-based tests ( #1577 )
...
* factor::numeric::gcd: Rename test against the Euclidean algorithm
* factor::numeric::gcd: Add various property-based tests
* factor::numeric::modular_inverse: Rename test
* factor::numeric::modular_inverse: Add test on random values
2020-08-03 14:00:34 +02:00
nicoo
70828329ba
factor::miller_rabin: Deduplicate parametrized_check macro ( #1575 )
...
* factor::miller_rabin::tests::first_composite: Drop useless generic
* factor::miller_rabin::tests: Reuse parametrized_check macro
2020-08-03 13:58:09 +02:00
nicoo
1eabda91cf
factor: Split numeric.rs into multiple modules ( #1567 )
...
* factor::numeric: Start refactoring into multiple submodules
No change to the module's interface, but it should make it much easier to
keep the tests right next to the code they are related to.
Moreover, build.rs' dependency is now limited to numeric::{modular_inverse,
traits}, meaning that the rest of it can use build-time generated tables etc.
* factor::numeric: Move gcd (and its test) to a submodule
* factor::numeric: Move Montgomery arithmetic to its own module
Finally hollowed-out numeric.rs
* factor: Move numeric.rs to numeric/mod.rs
* factor::numeric: Fix an erroneous lint on obsolete Rust versions
2020-08-02 20:28:00 +02:00
Sylvestre Ledru
85e2e1d0ee
Merge pull request #1566 from nbraud/factor/miller-rabin/copyright
...
factor::miller_rabin: Add missing copyright header in source file
2020-08-02 14:09:44 +02:00
nicoo
645e9a24bd
factor::miller_rabin: Add missing copyright header in source file
2020-07-26 14:59:30 +02:00
Roy Ivy III
c36d71ba43
refactor/polish ~ fix cargo clippy
complaint (needless_lifetimes)
2020-07-25 11:09:10 -05:00
Roy Ivy III
305c3cbcdb
refactor/polish ~ fix cargo clippy
complaint (bind_instead_of_map)
2020-07-25 11:09:10 -05:00
Roy Ivy III
326ff36793
refactor/polosh ~ fix cargo clippy
complaint (reversed_empty_ranges)
2020-07-25 11:09:10 -05:00
Roy Ivy III
a6d7379b97
Merge pull request #1563 from nbraud/factor/faster/gcd
...
factor/perf ~ speed up factor::numeric::gcd
2020-07-25 11:07:57 -05:00
nicoo
6bef6306c0
factor::numeric::gcd: Avoid redundant u64::trailing_zeros and shifts
...
7 to 10% faster, according to criterion.
2020-07-25 15:04:57 +02:00
nicoo
3e55139c13
factor::miller_rabbin::Result: Mark as #[must_use]
...
Ignoring a value of that type is a bug: they are only produced by
`miller_rabbin::test`, which is a pure, but expensive, function.
As such, an ignored value is always either a mistake, or an easy
optimisation opportunity (just remove the useless call to `test`).
2020-07-24 23:06:08 +02:00
nicoo
ecc3e2db24
factor::miller_rabin::test: Minor readability improvement
2020-07-24 23:06:08 +02:00
nicoo
e415b17c01
factor::miller_rabin: Remove duplicated work
...
The duplicate work was introduced in 2015.
2020-07-24 23:06:06 +02:00
nicoo
29d45e472d
factor::numeric::gcd: Implement Stein's binary GCD algorithm
...
Also add a property-based test against the Euclidean implementation.
numeric::gcd got ~50-65% faster, according to criterion. The effect on the
overall system is small, but later PRs will use a lot more GCD computations.
2020-07-24 23:00:32 +02:00
nicoo
4f23767b85
factor::numeric::gcd: Add criterion-powered benchmark
...
The function had to be made `pub`, this is a [known limitation] of Criterion.
[known limitation]: https://bheisler.github.io/criterion.rs/book/user_guide/known_limitations.html
2020-07-24 22:58:26 +02:00
nicoo
1b593d94c9
factor: Update rand dependency to v0.7
2020-07-24 22:57:08 +02:00
nicoo
9a80ab7741
factor::numeric::DoubleInt: Document the DoubleWidth associated type
2020-07-24 11:28:26 -05:00
nicoo
17c69674eb
factor::numeric::Int: Remove from_u128
method
...
It was unused, the debug assertions only need `to_u128`.
2020-07-24 11:28:26 -05:00
nicoo
1172af09c0
factor::numeric::DoubleInt: Clarify methods and associated types
...
- `DoubleInt::Double` renamed to `DoubleWidth`
- `{as,from}_double()` renamed to `{as,from}_double_width()`.
This should hopefully clarify that this is not a “double precision”
floating-point type, but an integer type with a larger range (used
for storing intermediate results, typ. from a multiplication)
2020-07-24 11:28:26 -05:00
nicoo
86a4749e3a
factor::numeric: fix original "Generalise modular inverse computation"
2020-07-24 11:28:12 -05:00
nicoo
6e228d3184
Merge branches 'factor/faster/{centralise_logic, montgomery32}'
2020-07-05 00:20:16 +02:00
nicoo
4cfe754551
factor::miller_rabin::is_prime: Fix bug
...
Montgomery only works for odd n, so attempting to construct an instance
for an even number results in a panic!
The most obvious solution is to special-case even numbers.
2020-07-05 00:08:49 +02:00
nicoo
9b0f131135
Fix bug in factor::factor::factor (>_>")
...
Non-prime numbers, such as 0 or 1, shouldn't be inserted in the factorisation.
2020-07-05 00:07:38 +02:00
nicoo
e9e263ac66
factor::Factors: Derive Clone and Debug
...
Useful for printing out in-progress factorisations when debugging.
2020-07-05 00:07:33 +02:00
nicoo
7bdc81b882
factor: Add a first property-based test
2020-07-05 00:07:16 +02:00
nicoo
dcc22188ba
factor: Fix clippy warnings
2020-07-05 00:05:45 +02:00
nicoo
f1d1cb80e4
factor::Factors: Generalise invariant check (from prime() to add())
2020-07-05 00:05:45 +02:00
nicoo
2d2b6faab4
factor: Avoid moving data around in main factoring loop
...
Instead, the same `Factors` object is passed around through the execution.
~10% faster.
2020-07-05 00:05:45 +02:00
nicoo
6713d2ad62
factor: Move recursive factoring logic from rho to factor
...
No functional change, but prepares a coming optimisation.
2020-07-05 00:05:45 +02:00
nicoo
bd4d6fcac5
factor: Split the CLI and I/O code off the factoring logic
2020-07-05 00:05:45 +02:00
nicoo
6256750376
factor::miller_rabin: Use a macro to instantiate every test
2020-07-05 00:04:56 +02:00
nicoo
7a1b86c9c2
factor::numeric::tests: Use a macro to instantiate every test
2020-07-05 00:04:53 +02:00
nicoo
cbcc760f83
factor::miller_rabin: Squash another bug! >:3
...
Detected by the testsuite improvement just prior.
2020-07-05 00:04:49 +02:00
nicoo
3d6fdffe14
factor::miller_rabin: Generalise tests to 32 and 64b Montgomery
2020-07-05 00:04:29 +02:00
nicoo
9b149a759b
factor::miller_rabin: Hoist edge-cases (even, <2) out of test()
...
test() takes a modulus that is known to not be even or <2 (otherwise the
Montgomery value could not be constructed), so those checks can be hoisted
into is_prime() and out of the critical path.
2020-07-05 00:04:26 +02:00
nicoo
4f08e28167
factor::miller_rabin: Add property-based test
2020-07-05 00:04:08 +02:00
nicoo
d2fa0fe63c
factor::miller_rabin::tests: small_composites → small_semiprimes
...
This is more descriptive, as semiprime are the products of 2 primes;
all semiprimes are composite, but not all composite numbers are semiprime.
2020-07-05 00:01:48 +02:00
nicoo
1e4d824829
factor::miller_rabin: Add negative test over all small composites
2020-07-05 00:01:44 +02:00
nicoo
600268c6e4
factor::miller_rabin::tests: Refactor
2020-07-05 00:01:40 +02:00
nicoo
0a1200bdb8
factor::miller_rabin: Add test for the largest 64b composite numbers
2020-07-05 00:01:37 +02:00
nicoo
308290325a
factor::miller_rabin::is_prime: Fix bug
...
Montgomery<_> only works for odd n, so attempting to construct an instance
for an even number results in a panic!
The most obvious solution is to special-case even numbers.
2020-07-05 00:01:33 +02:00
nicoo
d2b43f49f9
factor::numeric::OverflowingAdd: Generate impls with a macro
2020-07-05 00:01:21 +02:00
nicoo
b25c77c5f9
factor::numeric: Generate implementations of DoubleInt with a macro
2020-07-05 00:01:21 +02:00
nicoo
f95f977f98
factor::numeric: Generate implementations of Int with a macro
2020-07-05 00:01:21 +02:00
nicoo
53954badd7
factor::numeric: Refactor away the use of {To,From}Primitives
2020-07-05 00:01:21 +02:00
nicoo
19a8231fb2
factor::numeric::Arithmetic: Rename associated type I to ModInt
2020-07-05 00:01:21 +02:00
nicoo
caa79a1261
factor::numeric: Split Int and DoubleInt traits
2020-07-05 00:01:21 +02:00
nicoo
28244413d1
factor::numeric: Document when to remove OverflowingAdd trait
2020-07-05 00:01:21 +02:00
nicoo
3f79be0219
factor::numeric: Use debug_assert! for runtime assertions.
2020-07-05 00:01:21 +02:00
nicoo
774feb0a40
factor::numeric: Generalise tests for Arithmetic trait
2020-07-05 00:01:21 +02:00
Alex Lyon
4d28f48ad9
factor: combine Montgomery and Montgomery32
2020-07-05 00:01:21 +02:00
nicoo
a440807e6c
factor::miller_rabin: Use a specialized basis for 32b integers
...
~3% faster
2020-07-05 00:01:21 +02:00
nicoo
e68bb192f2
factor::numeric: Add a 32b Montgomery variant [WiP]
...
~32% faster
2020-07-05 00:01:21 +02:00
nicoo
43ee92c40f
factor::numeric: Generalise modular inverse computation
2020-07-05 00:01:21 +02:00
Alex Lyon
9de82d92b0
Merge pull request #1557 from nbraud/factor/issue_1556
...
factor::miller_rabin: Fix bug #1556
2020-06-24 04:53:32 -07:00
Alex Lyon
700d51a92b
Merge pull request #1528 from sylvestre/cp-no-deref
...
feature(cp) implement -P/--no-deference
2020-06-23 23:05:26 -07:00
nicoo
abf579975c
factor::miller_rabin: Fix bug in primality test
...
Introduced in 6b9585b1
(#1525 : Performance improvements for `factor`).
Closes #1556
2020-06-23 16:19:16 +02:00
nicoo
c5c86b00e9
factor::miller_rabin: Add tests reproducing #1556
2020-06-23 16:14:52 +02:00
nicoo
8e040bbf1a
factor::table: Optimise the size of the precomputed table
...
A too-large precomputed table actually slows down the program: we spend
time fetching it from disk and from memory (into the CPU's cache), and
larger prime factors are more unlikely to occur in random integers (prime p
occurs with probability ~1/p when sampling 64b numbers uniformly-at-random)
The new value was chosen after measuring the execution time (for all
integers between 2 and 10⁷) for a broad set of values:
| n | time (s) |
|------|----------|
| 16 | 40.84 |
| 32 | 34.491 |
| 64 | 29.044 |
| 128 | 25.121 |
| 192 | 23.98 |
| 256 | 23.102 |
| 256 | 24.93 |
| 272 | 23.57 |
| 288 | 23.85 |
| 304 | 23.91 |
| 320 | 23.24 |
| 329 | 23.45 |
| 336 | 23.55 |
| 352 | 23.09 |
| 368 | 23.65 |
| 384 | 23.32 |
| 384 | 23.36 |
| 400 | 23.30 |
| 416 | 23.38 |
| 432 | 23.42 |
| 448 | 23.95 |
| 448 | 24.00 |
| 464 | 23.81 |
| 480 | 23.55 |
| 496 | 24.10 |
| 512 | 24.101 |
| 512 | 24.23 |
| 1027 | 29.864 |
2020-06-20 22:22:55 +02:00
nicoo
9d992b77b2
factor: Keep the primes table size in a single place
2020-06-20 22:22:55 +02:00
nicoo
b956e632e1
factor::table: Coalesce accesses to the factors
table
...
~5.6% faster
2020-06-20 22:22:55 +02:00
Sylvestre Ledru
2d62097843
feature(cp): Manage -P & -R
2020-06-20 10:49:15 +02:00
nicoo
0518e06053
factor::rho: Minor refactor for readability
2020-06-20 10:39:56 +02:00
nicoo
dacee413db
factor::rho: Refactor to avoid unnecessary allocations
2020-06-20 10:39:56 +02:00
nicoo
71e1c52920
factor::Factors: Rename new() to one()
2020-06-20 10:39:56 +02:00
Sylvestre Ledru
280fafed8a
feature(cp) implement -P/--no-deference
2020-06-20 09:38:39 +02:00
nicoo
45a1408fb0
fixup! factor: Add test exhibiting a bug in ρ
2020-06-19 15:28:01 +02:00
nicoo
9fe3de72f2
factor::rho: Fix very-unlikely bug (resulting in assertion failure)
...
This bug can only be triggered when:
- the Miller-Rabin test produces a divisor `d` (rare) ;
- n / d is prime.
2020-06-19 13:51:29 +02:00
nicoo
9eb944b6b9
factor: Add test exhibiting a bug in ρ
...
The test is repeated 20 times to make it overwhelmingly-likely to fail
(the bug itself is only triggered rarely)
2020-06-19 13:48:00 +02:00
nicoo
3a90e31307
factor::numeric::inv_mod_u64: Provide a more-helpful error message
2020-06-19 13:39:42 +02:00
nicoo
ef12991ee7
factors: Avoid repeatedly locking and flushing stdout
...
By default, stdout's LineWriter results one syscall per line, i.e. a billion
syscalls when factoring a billion numbers...
Buffering the output yields a ~28% speedup.
2020-06-18 16:45:40 -07:00
nicoo
2869248318
factor::Factors: Use a tree-based map internally
...
This eliminate the need for sorting the prime factors for display.
25% performance improvement after the changes from factor/montgomery.
2020-06-18 16:44:08 -07:00
nicoo
4b4d11b61a
factor: Add/update copyright notices as necessary ( #1546 )
2020-06-18 21:38:28 +02:00
Alex Lyon
6105cce69a
Merge pull request #1529 from nbraud/factor/montgomery
...
factor: Faster modular arithmetic with the Montgomery transform
2020-06-18 09:19:12 -07:00
nicoo
fb08d9ff9e
factor::numeric::Montgomery::add: Deal with rare overflow case
2020-06-18 14:32:58 +02:00
Alex Lyon
e02b8a60f7
hashsum: switch from getopts to clap ( #1542 )
...
* hashsum: switch from getopts to clap
Additionally, slightly refactor. This commit will be the first of
a series of commits refactoring (at the very least) `hashsum`.
2020-06-18 11:46:00 +02:00
Sylvestre Ledru
f17a112781
feature(ln): implement -r ( #1540 )
...
* bump the minimal version of rustc to 1.32
* feature(ln): implement -r
* fix two issues
* Use cow
* rustfmt the change
* with cargo.lock 1.31
* try to unbreak windows
2020-06-18 00:54:18 -07:00
nicoo
d1470dadf8
factor::numeric::gcd: Silence the (erroneous) dead code lint
2020-06-16 15:45:10 +02:00
nicoo
334e02786d
factor: Run cargo fmt
2020-06-16 15:43:25 +02:00
Alex Lyon
8377abadb6
Fix to build on Rust 1.32.0 and formatting
2020-06-16 04:08:17 -05:00
Alex Lyon
110d6844ad
Use an iterator over OsString for uumain()
...
Additionally, restructure `uname` so that we don't need to find the
iterator's length.
2020-06-16 03:28:02 -05:00
nicoo
f1788d9e70
fixup! factor::numeric::Montgomery: Fix overflow bug
2020-06-16 01:17:16 +02:00
nicoo
4851619d62
factor::miller_rabin: Avoid repeatedly transforming 1 and -1
...
Approx. 25% speedup
2020-06-15 23:05:31 +02:00
nicoo
cb6051c580
factor::numeric::Montgomery: Fix overflow bug
2020-06-15 22:40:57 +02:00
nicoo
2238065c9d
factor::numeric: Simplify Montgomery
(remove superfluous Wrapping)
2020-06-15 19:18:34 +02:00
nicoo
19a0645a0a
factor::numeric: Simplify inv_mod_u64
...
Just call `u64::wrapping_{mul,sub}` instead of (de)constructing Wrapping<u64>
values.
2020-06-15 19:18:34 +02:00
nicoo
918035e01e
factor: Fix for old Rust
2020-06-15 19:18:34 +02:00
nicoo
f84d0f9398
factor::Factors::add: Make the precondition check a debug_assert
2020-06-15 19:18:34 +02:00
nicoo
33e18b4cd3
factor::numeric::Montgomery: Add debug assertions
...
In debug mode, checks that all arithmetic operations coincide with the
plain-u64 versions, as long as the latter does not overflow.
2020-06-15 19:18:34 +02:00
nicoo
8a4d0d30ad
factor::numeric: Implement Montgomery's transform
...
This is a facter way to perform arithmetic mod n, when n is odd and a 64b
number.
2020-06-15 19:18:29 +02:00
nicoo
e91155519a
factor::factor: Add integration tests
2020-06-15 19:10:16 +02:00
nicoo
bada7530fb
factor::miller_rabin: Add tests
2020-06-15 19:10:16 +02:00
Roy Ivy III
813e57d225
fix cargo clippy
complaint (redundant_clone)
2020-06-14 23:38:30 -05:00
Roy Ivy III
39e3c57198
fix cargo clippy
complaint (clone_on_copy)
2020-06-14 23:38:30 -05:00
Sylvestre Ledru
7b452f3bfe
style(nproc): reformat with rustfmt
2020-06-09 13:38:29 +02:00
Sylvestre Ledru
ac34d136f2
refactor(global): Move from tempdir to tempfile:
...
* the crate has been deprecated
2020-06-09 11:30:19 +02:00
Alex Lyon
80987250d2
Merge pull request #1521 from sylvestre/nproc
...
Add tests for nproc + clap migration
2020-06-08 19:18:00 -07:00
Alex Lyon
49771d4fda
Merge pull request #1535 from sylvestre/1.32
...
Move to 1.32 as minimal supported version
2020-06-08 14:31:02 -07:00
Sylvestre Ledru
5926315507
bump the minimal version of rustc to 1.32
2020-06-08 22:54:28 +02:00
Sylvestre Ledru
d0890b72cd
Merge pull request #1522 from sylvestre/groups
...
groups: clap migration
2020-06-08 22:19:08 +02:00
Sylvestre Ledru
851e25d134
refactor(logname): simplify the code
2020-06-07 17:54:30 +02:00
Sylvestre Ledru
5963b15746
refactor(nproc): fix some bugs and use clap
2020-06-02 23:29:21 +02:00
Sylvestre Ledru
ed1ebe09ff
refactor(groups): move to clap
2020-06-02 23:16:18 +02:00
Sylvestre Ledru
78c04a254e
refactor ~ rename MinSRV => MinRustV
2020-06-02 12:23:48 -05:00
Roy Ivy III
fbbd881ca9
docs ~ reduce sub-crate meta-information keywords to the maximum of five
2020-05-31 15:48:54 -05:00
Roy Ivy III
b2a566d50d
fix/mknod ~ correct uucore feature dependency
2020-05-30 02:21:05 -05:00
Roy Ivy III
2fd7e15d63
fix/install ~ correct uucore feature dependency
2020-05-30 02:21:05 -05:00
Roy Ivy III
4b0dd73adb
fix/chmod ~ correct uucore feature dependency
2020-05-30 02:21:05 -05:00
Roy Ivy III
923c47a408
refactor ~ remove outdated clippy attributes
2020-05-30 01:36:02 -05:00
Roy Ivy III
fb5ab86aee
refactor help text and variable names
2020-05-30 01:36:02 -05:00
Roy Ivy III
8cf58de0a7
docs ~ polish/update comments
2020-05-30 01:36:02 -05:00
Roy Ivy III
619d0ab72b
docs ~ add markdown-lint directives
2020-05-30 01:36:02 -05:00
Roy Ivy III
f82de13847
docs ~ spell-check repairs and addition of exceptions
2020-05-30 01:36:02 -05:00
Roy Ivy III
38ebc14b29
maint/build ~ remove .gitignore from sub-crate 'cut'
2020-05-29 22:59:48 -05:00
Roy Ivy III
21a4da905f
fix cargo clippy
complaint (single_component_path_imports)
2020-05-29 22:59:48 -05:00
Roy Ivy III
8fa8bb61ab
change ~ install_sigpipe_hook()
=> mute_sigpipe_panic()
(from uucore v0.0.4)
2020-05-29 22:59:48 -05:00
Roy Ivy III
ea3235c7e2
change ~ new_coreopts!()
=> app!()
(from uucore v0.0.4)
2020-05-29 22:59:48 -05:00
Roy Ivy III
4b8fc7445b
change ~ disp_err!()
=> show_usage_error!()
(from uucore v0.0.4)
2020-05-29 22:59:48 -05:00
Roy Ivy III
6f465eeb9f
deps ~ update utils to uucore/uucore_procs v0.0.4
2020-05-29 22:59:48 -05:00
Roy Ivy III
e3fd15e73c
fix cargo clippy
complaint (single_component_path_imports)
2020-05-29 22:59:48 -05:00
Roy Ivy III
156031b929
fix/sync ~ update to correct current WinAPI usage (ref #1496 )
2020-05-29 22:59:48 -05:00
Roy Ivy III
fc9abdc179
fix/tail ~ update to correct current WinAPI usage (ref #1496 )
2020-05-29 22:59:48 -05:00
Roy Ivy III
64f888d364
fix/cp ~ update to correct current WinAPI usage (ref #1496 )
2020-05-29 22:59:48 -05:00
Roy Ivy III
251905da3d
fix/du ~ update to correct WinAPI usage ( fixes #1496 )
2020-05-29 22:59:47 -05:00
Roy Ivy III
131bca3d53
fix/split ~ fix 'edition=2018' trait specification error
2020-05-29 22:59:47 -05:00
Roy Ivy III
3129c8fbe5
fix/od ~ fix 'edition=2018' trait specification error
2020-05-29 22:59:47 -05:00
Roy Ivy III
d4aa3a2231
fix 'edition="2018"' module import errors
...
- ref: <https://users.rust-lang.org/t/imports-can-only-refer-to-extern-crate-names/24388 > @@ <https://archive.is/iCaXp >
2020-05-29 22:59:47 -05:00
Roy Ivy III
d70db1f7d2
docs ~ improve/update sub-crate meta information
2020-05-29 22:59:47 -05:00
Roy Ivy III
45a1609a38
update held/pinned dependencies (to maintain MinSRV v1.31.0)
2020-05-29 22:59:47 -05:00
Roy Ivy III
52ae491fcd
change ~ rename base binary to 'coreutils'
2020-05-29 22:59:47 -05:00
Roy Ivy III
7cfa8be5f2
docs ~ add meta information to sub-crates
2020-05-29 22:59:47 -05:00
Roy Ivy III
6cb609aeee
docs/codespell ~ fix spelling errors
2020-05-29 22:59:47 -05:00
Roy Ivy III
0cb5fbd6b5
change ~ remove transition-only and unneeded code for independent sub-crates
2020-05-29 22:59:46 -05:00
Roy Ivy III
db2e950918
change ~ make all sub-crates independent
2020-05-29 22:59:40 -05:00
Roy Ivy III
6606408ce9
refactor/polish ~ whitespace normalization (consistent indentation [either tabs *or* spaces], EOF EOLNs, no trailing whitespace)
2020-05-24 17:29:07 -05:00
Roy Ivy III
8263d31fbb
change ~ improve help display for main multi-call binary
2020-05-24 17:29:07 -05:00
Roy Ivy III
c457dfbbc4
fix/uutils ~ support function/util (aka, applet) symlink aliasing where possible
...
## [why]
`std::env::current_exe()` has platform dependent behavior and will often
return the target binary, not the symlink name, when the binary is executed
via symlink. So, to support symlinking, the first (0th) arg from `std::env::args()`
is used, when possible, with fallback to `std::env::current_ext()` if args are
missing or empty.
- ref: <https://github.com/rust-lang/rust/issues/43617 >
2020-05-24 17:29:07 -05:00
Roy Ivy III
bebf36bffb
change/uutils ~ allow (almost) any name for the multi-binary container
...
- final multi-binary will now function correctly with any binary/executable name
- multi-binary container acts as the specified util IF EITHER ...
1. the binary/executable name exactly matches the name of an applet/util
2. the binary/exectuable name matches <PREFIX><UTIL_NAME> pattern
* where the PREFIX is any string ending in a non-alphanumeric character
2020-05-24 17:29:07 -05:00
Roy Ivy III
09abcf8cbe
Merge pull request #1525 from nbraud/factor/faster
...
Performance improvements for `factor`
2020-05-24 16:54:04 -05:00
Nicolas Braud-Santoni
4c3682aec7
factor::Factors::add: Split up to work without NLL
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-05-24 19:14:37 +02:00
nicoo
36a2948959
factor::miller_rabin: Avoid unecessary exponentiation
...
Instead of computing a^r and a^(n-1) = a^(r 2ⁱ) separately,
compute the latter by repeatedly squaring the former.
33.6% performance improvement
2020-05-24 19:10:34 +02:00
nicoo
543c7b941a
factor::rho: Small refactor
2020-05-24 19:10:29 +02:00
nicoo
30fd6a0309
factor::numeric: Replace lose functions with an Arithmetic trait
2020-05-24 18:16:21 +02:00
nicoo
29eb8fd77b
format: Make clippy happy
2020-05-24 17:06:19 +02:00
nicoo
8241037690
factor::miller_rabin: Extract dividers from the primality test
...
Another 36% improvement.
2020-05-24 15:41:23 +02:00
nicoo
6b9585b1dc
factor::miller_rabbin: Refactor before extracting dividers
...
Replace iterated division with u64::trailing_zeros, hoist the selection of `mul`
out of the loop, another cool 49.5% runtime improvement.
2020-05-24 15:41:23 +02:00
nicoo
e3ecc81d97
factor: Move the Miller-Rabin primality test to its own module.
2020-05-24 15:41:23 +02:00
nicoo
74054feb94
factor::factor: Remove extraneous call to the primality test
...
Another 6.97% runtime improvement
2020-05-24 15:41:23 +02:00
nicoo
e1a6dbe619
factor::table: Remove obsolete, commented code
2020-05-24 15:41:23 +02:00
nicoo
169740629b
factor::table: Remove extraneous calls to the primality test
...
50% performance improvement on factoring all numbers between 2 and 10⁶.
2020-05-24 15:41:23 +02:00
nicoo
418fd61759
factor::factor: Short-circuit the fallback to Pollard's rho
...
When the remainder is smaller than the max. entry in the table,
it is guaranteed to be prime.
2020-05-24 15:41:23 +02:00
nicoo
bc11e57962
factor::factor: Use u64::trailing_zero instead of iterated division
...
No significant performance impact (most of the time is spent elsewhere),
but an easy and satisfying fix nevertheless.
2020-05-24 15:41:23 +02:00
nicoo
a1b2522750
factor: Move each factorisation method to its own module
...
Also decoupled the factorisation methods; now factor::factor contains
the logic that chains the different algorithms and aggregates results.
As a side-effect, rho::factor now performs extraneous allocations (as each
recursive step creates a new `Factors` value, which is then aggregated into
the previous one) but there is no significant performance impact.
2020-05-24 15:41:23 +02:00
nicoo
d9095a2539
factor: Refactor (eheh) around a Factors
datatype
...
It is clearer to see what is going on, as opposed to passing around an
unmarked `Vec<u64>`, and there is a single place to add invariants checks.
This is also a more compact memory representation: each prime factor is
represented only once, with an additional byte for multiplicity. The
performance impact is however not significant.
2020-05-24 15:41:23 +02:00
Sylvestre Ledru
75b7f768ea
fix(mv): Allow move across file systems ( #1524 )
...
Co-authored-by: Arni Dagur <arni@dagur.eu>
2020-05-24 12:49:56 +02:00
Sylvestre Ledru
272b66aac8
refactor(hostname): use clap instead of getopts for consistency ( #1516 )
...
* refactor(hostname): use clap instead of getopts for consistency
* deps ~ uucore/wide is required
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-05-22 17:27:03 +02:00
Sylvestre Ledru
817a237821
Merge pull request #1513 from sylvestre/uptime-since
...
feature(uptime): add option --since
2020-05-21 22:18:52 +02:00
Sylvestre Ledru
2fe2fe7275
be less prescriptive with clap versions ( #1514 )
2020-05-21 22:18:13 +02:00
Sylvestre Ledru
0a02aeda71
refactor(hostname): rely on the hostname crate ( #1517 )
2020-05-21 10:58:38 +02:00
Sylvestre Ledru
3994af5678
Update src/uu/uptime/src/uptime.rs
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-05-21 10:58:23 +02:00
Sylvestre Ledru
340b5badda
Update src/uu/uptime/src/uptime.rs
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-05-21 10:58:15 +02:00
Sylvestre Ledru
6bc9b38fa9
fix(cp): Remove an unused dep to the getops crate
2020-05-17 12:09:55 +02:00
Sylvestre Ledru
719f2bf8ae
feature(uptime): add option --since
...
For this, I:
* moved from getops to clap
* remove the millisecond maths
2020-05-17 11:50:08 +02:00
Roy Ivy III
8e886c30dc
Merge pull request #1511 from sylvestre/more
...
fix(more) handle no arguments without panic; add test and a FixME
2020-05-15 19:17:01 -05:00
Sylvestre Ledru
80203a7a02
fix(more) Return a proper error message when no argument is provided
...
Fix #1509
2020-05-15 17:48:35 -05:00
Roy Ivy III
9052bc4de7
Merge pull request #1503 from sylvestre/arch
...
test(arch): add tests and description text
2020-05-10 20:11:10 -05:00
Anuvrat Parashar
ce064dc62e
feature(head): Introduce NLines to handle negative lines parameters
2020-05-10 21:32:48 +02:00
Sylvestre Ledru
1565f4d1d9
Update src/uu/arch/src/arch.rs
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-05-10 21:05:38 +02:00
Roy Ivy III
6e77f99f61
Merge pull request #1507 from sylvestre/id
...
add/id ~ long option variant and tests
2020-05-10 12:21:07 -05:00
Sylvestre Ledru
a83fe2f098
Merge pull request #1508 from muskuloes/master
...
Flush output buffer for expand/unexpand commands
2020-05-09 21:17:58 +02:00
muskuloes
c84f89257e
fix clippy warning: extract function
2020-05-09 19:28:13 +02:00
muskuloes
b4752e079f
flush output of unexpand command as well
2020-05-09 19:28:13 +02:00
muskuloes
fb8f3ebf96
expand: flush output buffer
2020-05-09 19:28:13 +02:00
Sylvestre Ledru
91ac5343db
remove artifact
2020-05-09 10:23:03 +02:00
Sylvestre Ledru
9fb00df9b3
test(id): add tests for id
2020-05-09 00:14:10 +02:00
Sylvestre Ledru
90dfa70bd3
feature(id): add --user, --group & --groups
2020-05-09 00:07:04 +02:00
Sylvestre Ledru
437e3aeab7
style(sort): Fix a clippy warning
2020-05-07 23:13:11 +02:00
elgris
71ba8b3fd6
sort: add "dictionary-order" flag.
...
The flag makes 'sort' command ignore non-dictionary symbols
(non-alphanumeric and non-spaces). The only difference with GNU sort is
that it takes ALL alphanumeric symbols, not only ASCII ones.
2020-05-07 23:08:24 +02:00
Sylvestre Ledru
f44e5465b8
cleanup(yes, whoami): remove some old workaround to force cargo rebuilds
2020-05-06 23:39:49 +02:00
Sylvestre Ledru
16bf4b1893
test(arch): Add some tests
2020-05-06 00:39:13 +02:00
E5ten
2a61fc7f72
feature(uname): Add -o/--operating-system flag
...
The code for the flag already existed it had just not been added to the argument parsing. Replace "print the operating system name." in -s help text with "print the kernel name." so the -o option can use the previous -s help text.
2020-05-05 13:23:42 +02:00
Roy Ivy III
ab0ef90b4a
refact/cat ~ fix style issues
2020-05-04 13:04:02 -05:00
Sylvestre Ledru
6294736d79
Merge branch 'fix-cat' of https://github.com/phungleson/coreutils into phungleson-fix-cat
2020-05-04 13:09:21 +02:00
Sylvestre Ledru
7e3f32d4db
style(df): rustfmt src/uu/df/src/df.rs
2020-05-04 10:56:16 +02:00
Sylvestre Ledru
06fe387c76
Merge pull request #1495 from orottier/wc
...
wc: Do not decode UTF8 when only counting bytes/newlines
2020-05-04 10:54:18 +02:00
Otto Rottier
dab1b9ba1a
rustfmt src/uu/wc/src/wc.rs
...
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2020-05-04 07:45:30 +02:00
Roy Ivy III
f12c27a57d
Merge pull request #1487 from sylvestre/df-human
...
refactor and fix some `df` build and cosmetic issues
2020-05-03 15:15:14 -05:00
Roy Ivy III
23b49101c0
fix/df ~ fix build script for sub-crate builds
2020-05-03 14:54:57 -05:00
Roy Ivy III
81d85f398b
fix/df ~ missing windows imports
2020-05-03 14:54:57 -05:00
Roy Ivy III
091a356807
fix/df ~ correct number suffix display by using number_prefix PrefixNames::symbol()
2020-05-03 14:53:13 -05:00
Otto Rottier
e3bd6b6848
wc: Do not decode UTF8 when only counting bytes/newlines
2020-05-03 20:39:09 +02:00
Sylvestre Ledru
fc83024ebe
refactor(df): use number_prefix like 'ls' instead of doing the display by hand
2020-05-03 13:29:55 -05:00
Sylvestre Ledru
90de33d5d7
maint/df: relax the dependencies
2020-05-03 12:27:55 -05:00
Sylvestre Ledru
850bd9c32d
fix(date): fix the date
...
Date didn't work out of the box.
Refactor it a bit to match other programs
2020-05-03 12:26:17 -05:00
Roy Ivy III
2d5d0680d8
fix(df) ~ fix lint complaint (unused import)
2020-05-03 12:00:42 -05:00
Sylvestre Ledru
8d1f0edfc4
refact(df): follow the same directory pattern than the other software
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
c85756e509
fix(df): Linux: Fix the mount path and type
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
8f6770401d
feat(df): Add the support of path for df. ex: df /boot
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
6e8c901204
fix: typo fixes found by codespell
2020-05-01 23:36:33 +02:00
Sylvestre Ledru
2aed7cb035
fix(df): Fix Windows support
...
- add required handleapi feature for winapi crate
- remove unneeded 'unsafe' section
- remove unused import (GetDiskFreeSpaceExW)
- fix Windows df execution
Co-Authored-By: Roy Ivy III <rivy.dev@gmail.com>
2020-04-28 13:16:19 -05:00
Sylvestre Ledru
f9456e80c3
fix(df): Add support for freebsd
2020-04-28 13:11:22 -05:00
Sylvestre Ledru
8545f03e0f
fix(df): Improve MacOSX support
2020-04-28 13:11:21 -05:00
Sylvestre Ledru
dd1a212550
style(df): Fix warnings + cargo fmt
...
Co-Authored-By: Roy Ivy III <rivy.dev@gmail.com>
2020-04-28 13:11:04 -05:00
Sylvestre Ledru
d5228b5a64
feat(df) add 'df' uutil
2020-04-28 13:05:55 -05:00
Roy Ivy III
5aa2b039a5
change ~ fixup paths (within workspace packages) to common code
2020-04-14 13:46:19 -05:00
Roy Ivy III
78c362c8b5
change ~ fixup paths (within workspace packages)
2020-04-14 13:46:18 -05:00
Roy Ivy III
f0b0e3b867
change ~ reorganize code files
2020-04-14 13:46:18 -05:00
Sylvestre Ledru
cf35d75491
rustfmt the tests
2020-04-13 20:36:03 +02:00
Roy Ivy III
08a2cd0fc8
Merge pull request #1449 from rivy/add.cicd
...
Improves build and maint; fixes all testing issues; adds GHA CICD; fixes a long list of lints
2020-04-13 10:12:24 -05:00
Roy Ivy III
6a18d7f7be
update ~ (maint!) use fixed/patched uucore (v0.0.2); await upgrade upstream
...
- fixes musl (no-utmpx) build bug
- fixes failing windows real{link,path} tests
2020-04-12 22:39:55 -05:00
Roy Ivy III
b8da0d7a8c
maint/docs ~ add license notation to all workspace packages
2020-04-12 16:57:11 -05:00
Roy Ivy III
d704fb2b61
printf: refactor ~ remove redundant string allocation
2020-04-12 16:56:05 -05:00
Roy Ivy III
3e3dff3a57
ls: refactor ~ improve line bundling of imports
2020-04-12 16:56:05 -05:00
Roy Ivy III
84f05f209c
expand: refactor/polish ~ simplify if condition
2020-04-12 16:56:04 -05:00
Roy Ivy III
ecb8f2873a
refactor ~ change repair of 'fix cargo clippy
complaints (fatal/same if clause)'
...
.# [why]
The initial refactoring/repair led to comments within if conditions which is
objectionable to some of the devs. So, this changes the refactor to completely split
the if clauses into separate if statements (with corresponding commentary).
Note: this refactor is "less mechanical" and does increase the risk of changing the
actual effect of the code. But the change is small and the tests are passing.
2020-04-12 16:56:04 -05:00
Roy Ivy III
156502a332
refactor ~ reduce excessive use of scope prefixes
2020-04-12 16:56:04 -05:00
Roy Ivy III
78d55f0e32
refactor/polish ~ fix cargo clippy
complaints (fix/remove allow range_plus_one)
2020-04-12 16:56:04 -05:00
Roy Ivy III
1c97a29a56
maint/build ~ refactor dependency specifications (sorted, single lines) of 'Cargo.toml'
2020-04-12 16:56:04 -05:00
Roy Ivy III
7e15375d82
refactor ~ clean up main directory (move '{mk,uu}main.rs' into src/#common)
2020-04-11 18:50:12 -05:00
Roy Ivy III
9675addc50
refactor/polish ~ fix cargo clippy
complaints (skip_while_next)
2020-04-11 18:50:11 -05:00
Roy Ivy III
0cf704a1bf
refactor/polish ~ fix cargo clippy
complaints (wildcard_in_or_patt)
2020-04-11 18:50:11 -05:00
Roy Ivy III
5224c3cd49
refactor/polish ~ fix rustc
complaints (unused_parens)
2020-04-11 18:50:11 -05:00
Roy Ivy III
ecc895e7a1
refactor/polish ~ fix cargo clippy
complaints (iter_nth_zero)
2020-04-11 18:50:11 -05:00
Roy Ivy III
ce0bb218a7
refactor/polish ~ fix cargo clippy
complaints (deprecated std::error::Error::description)
2020-04-11 18:50:11 -05:00
Roy Ivy III
0635c5fe93
refactor/polish ~ fix cargo clippy
complaints (unused_parens)
2020-04-11 18:50:11 -05:00
Roy Ivy III
c484fb8065
refactor/polish ~ fix cargo clippy
complaints (missing_safety_doc; with ToDO for safety note)
2020-04-11 18:50:10 -05:00
Roy Ivy III
0fdf27c5c2
refactor/polish ~ fix cargo clippy
complaints (iter_skip_next)
2020-04-11 18:50:10 -05:00
Roy Ivy III
84e26b3d0b
refactor/polish ~ fix cargo clippy
complaints (or_fun_call)
2020-04-11 18:50:10 -05:00
Roy Ivy III
9b145bb6c4
refactor/polish ~ fix cargo clippy
complaints (unreadable_literal)
2020-04-11 18:50:10 -05:00
Roy Ivy III
75f05df119
refactor/polish ~ fix cargo clippy
complaints (redundant_static_lifetimes)
2020-04-11 18:50:10 -05:00
Roy Ivy III
c4a69f2f4e
refactor/polish ~ fix cargo clippy
complaints (allow trivially_copy_pass_by_ref)
2020-04-11 18:50:10 -05:00
Roy Ivy III
1d26e901f9
fix 32-bit/i686 target builds
2020-04-11 18:50:09 -05:00
Sylvestre Ledru
deda30e3f5
Merge pull request #1421 from felixonmars/patch-1
...
Correct some typos in printf.rs
2020-04-08 19:03:57 +02:00
Son
a573a24d28
Add test 0 to 8 and 10 to 31
2020-02-09 14:18:21 +11:00
Son
7c9cc92163
Test write tab
2020-02-09 13:41:12 +11:00
Son
76ff2f5480
Test new line
2020-02-09 13:26:51 +11:00
Son
29729818f0
Empty test to start with cat
2020-02-09 11:18:18 +11:00
Roy Ivy III
5af8503a5e
cargo fmt
2020-01-28 00:05:06 -06:00
Roy Ivy III
15722e3ace
refactor/polish ~ fix cargo clippy
complaints (unused imports)
2020-01-28 00:04:41 -06:00
Roy Ivy III
daecc56d47
refactor/polish ~ fix cargo clippy
complaints (unwrap_or_else)
2020-01-27 22:35:28 -06:00
Roy Ivy III
b4866afb9a
refactor/polish ~ fix cargo clippy
complaints (deprecated uint64_t)
2020-01-27 22:35:28 -06:00
Roy Ivy III
a6bdad314d
refactor/polish ~ fix cargo clippy
complaints (allow deprecated mem::uninitialized)
...
.# [why]
`std::mem::MaybeUninit` is likely preffered. But `MaybeUninit` was not
stabilized until rust v1.36.0 and conversion from `mem::uninitialized` is
not obviously straight-forward at the moment.
So, 'std::mem::uninitialized' is allowed instead of increasing MinSRV to v1.36.0.
* ref: https://github.com/rust-lang/rust/blob/master/RELEASES.md
2020-01-27 22:35:28 -06:00
Roy Ivy III
082f9520b2
refactor/polish ~ fix cargo clippy
complaints (allow useless_let_if_seq)
2020-01-27 22:35:28 -06:00
Roy Ivy III
d82a170351
refactor/polish ~ fix cargo clippy
complaints (allow unreadable_literal {for dynamic code})
2020-01-27 22:35:28 -06:00
Roy Ivy III
372ddf9222
refactor/polish ~ fix cargo clippy
complaints (allow too_many_args)
2020-01-27 22:35:28 -06:00
Roy Ivy III
6c7c4788d8
refactor/polish ~ fix cargo clippy
complaints (allow single_match)
2020-01-27 22:35:28 -06:00
Roy Ivy III
6230ab302a
refactor/polish ~ fix cargo clippy
complaints (allow range_plus_one; clippy
bug workaround)
...
* ref: <https://github.com/rust-lang/rust-clippy/issues/4898 >
2020-01-27 22:35:28 -06:00
Roy Ivy III
522d3ae1b6
refactor/polish ~ fix cargo clippy
complaints (allow ptr_arg)
2020-01-27 22:35:27 -06:00
Roy Ivy III
b8c0711273
refactor/polish ~ fix cargo clippy
complaints (allow ptr_arg)
2020-01-27 22:35:27 -06:00
Roy Ivy III
e80970cb92
refactor/polish ~ fix cargo clippy
complaints (allow module_inception)
2020-01-27 22:35:27 -06:00
Roy Ivy III
cc49983314
refactor/polish ~ fix cargo clippy
complaints (allow missing_safety_doc)
2020-01-27 22:35:27 -06:00
Roy Ivy III
df68c396c4
refactor/polish ~ fix cargo clippy
complaints (allow map_clone)
...
.# [why]
Although `copied()` is preffered, it was not stabilized until rust v1.35.0.
So, 'map_clone' is allowed instead of increasing MinSRV to v1.35.0.
* ref: https://github.com/rust-lang/rust/blob/master/RELEASES.md
2020-01-27 22:35:27 -06:00
Roy Ivy III
99ce03f259
refactor/polish ~ fix cargo clippy
complaints (allow many_single_char_names)
2020-01-27 22:35:27 -06:00
Roy Ivy III
44a60f773f
refactor/polish ~ fix cargo clippy
complaints (allow 'let_and_return')
2020-01-27 22:35:27 -06:00
Roy Ivy III
a90e1abbd8
refactor/polish ~ fix cargo clippy
complaints (allow enum_variant_names)
2020-01-27 22:35:27 -06:00
Roy Ivy III
5241eca084
refactor/polish ~ fix cargo clippy
complaints (allow comparison_chain {for f64 comparisons})
2020-01-27 22:35:27 -06:00
Roy Ivy III
784887cc84
refactor/polish ~ fix cargo clippy
complaints (allow comparison_chain)
2020-01-27 22:35:27 -06:00
Roy Ivy III
5094d6ffcc
refactor/polish ~ fix cargo clippy
complaints (allow complexity)
2020-01-27 22:35:26 -06:00
Roy Ivy III
37c9b0e331
refactor/polish ~ fix cargo clippy
complaints ('better' ref use/toplevel_ref_arg)
2020-01-27 22:35:26 -06:00
Roy Ivy III
58779be6bb
refactor/polish ~ fix cargo clippy
complaints (transmute_ptr_to_ptr)
2020-01-27 22:35:26 -06:00
Roy Ivy III
1deac8df87
refactor/polish ~ fix cargo clippy
complaints (new_ret_no_self)
2020-01-27 22:35:26 -06:00
Roy Ivy III
6131f6f0e1
refactor/polish ~ fix cargo clippy
complaints (borrowed_box)
2020-01-27 22:35:26 -06:00
Roy Ivy III
8f2cdcfcb5
refactor/polish ~ fix cargo clippy
complaints (trivially_copy_pass_by_ref)
2020-01-27 22:35:26 -06:00
Roy Ivy III
37a3db1819
refactor/polish ~ fix cargo clippy
complaints (flat_map_identity)
2020-01-27 22:35:26 -06:00
Roy Ivy III
bffea950d9
refactor/polish ~ fix cargo clippy
complaints (zero_ptr)
2020-01-27 22:35:26 -06:00
Roy Ivy III
248dfbac08
refactor/polish ~ fix cargo clippy
complaints (comparison_chain)
2020-01-27 22:35:16 -06:00
Roy Ivy III
2ef9c9a28e
refactor/polish ~ fix cargo clippy
complaints (unnecessary_unwrap)
2020-01-27 21:33:53 -06:00
Roy Ivy III
7cc3571657
refactor/polish ~ fix cargo clippy
complaints (remove unit value as function arg)
2020-01-27 21:33:53 -06:00
Roy Ivy III
8ec50b72d1
refactor/polish ~ fix cargo clippy
complaints (inefficient to_string()
)
2020-01-27 21:33:53 -06:00
Roy Ivy III
334406028c
refactor/polish ~ fix cargo clippy
complaints (remove useless lint attribute)
2020-01-27 21:33:53 -06:00
Roy Ivy III
aa2ed76846
refactor/polish ~ fix cargo clippy
complaints (unneeded transmute)
2020-01-27 21:33:53 -06:00
Roy Ivy III
f933c60a41
refactor/polish ~ fix cargo clippy
complaints (filter_map => filter)
2020-01-27 21:33:53 -06:00
Roy Ivy III
de9d702a32
refactor/polish ~ fix cargo clippy
complaints (use enumerate)
2020-01-27 21:33:53 -06:00
Roy Ivy III
33e5d8c813
refactor/polish ~ fix cargo clippy
complaints (into_iter => iter)
2020-01-27 21:33:53 -06:00
Roy Ivy III
d343d533ba
refactor/polish ~ fix cargo clippy
complaints (avoid as ...
)
2020-01-27 21:33:53 -06:00
Roy Ivy III
66124454e3
refactor/polish ~ fix cargo clippy
complaints (remove ->()
)
2020-01-27 21:33:53 -06:00
Roy Ivy III
55b3e4ea24
refactor/polish ~ fix cargo clippy
complaints (simplify enum element names/NumberMode)
2020-01-27 21:33:53 -06:00
Roy Ivy III
82dc40f0af
refactor/polish ~ fix cargo clippy
complaints (simplify enum element names/InteractiveMode)
2020-01-27 21:33:52 -06:00
Roy Ivy III
fd8e5acd57
refactor/polish ~ fix cargo clippy
complaints (loop/match => while let)
2020-01-27 21:33:52 -06:00
Roy Ivy III
98039f176d
refactor/polish ~ fix cargo clippy
complaints (String => str)
2020-01-27 21:33:52 -06:00
Roy Ivy III
3bddf84aec
refactor/polish ~ fix cargo clippy
complaints (match => if let)
2020-01-27 21:33:52 -06:00
Roy Ivy III
600c40490b
refactor/polish ~ fix cargo clippy
complaints (map => if let)
2020-01-27 21:33:52 -06:00
Roy Ivy III
739c2d5793
refactor/polish ~ fix cargo clippy
complaints (use is_ok)
2020-01-27 21:33:52 -06:00
Roy Ivy III
8b18b7c206
refactor/polish ~ fix cargo clippy
complaints (use is_null)
2020-01-27 21:33:52 -06:00
Roy Ivy III
bb15dcf1b8
refactor/polish ~ fix cargo clippy
complaints (use is_empty / is_none)
2020-01-27 21:33:52 -06:00
Roy Ivy III
2931c808b6
refactor/polish ~ fix cargo clippy
complaints (collapse equal if blocks)
2020-01-27 21:33:52 -06:00
Roy Ivy III
b003d55fe1
refactor/polish ~ fix cargo clippy
complaints (collapse if-if)
2020-01-27 21:33:52 -06:00
Roy Ivy III
b8eb763e43
refactor/polish ~ fix cargo clippy
complaints (collapse else-if)
2020-01-27 21:33:52 -06:00
Roy Ivy III
2db6fb20c9
refactor/polish ~ fix cargo clippy
complaints (needless_lifetimes)
2020-01-27 21:33:51 -06:00
Roy Ivy III
8c97f0eebb
refactor/polish ~ fix cargo clippy
complaints ('better' match indirection)
2020-01-27 21:33:51 -06:00
Roy Ivy III
ab87a1ab5f
refactor/polish ~ fix cargo clippy
complaints ('better' ref indirection)
2020-01-27 21:33:51 -06:00
Roy Ivy III
94c088f452
refactor/polish ~ fix cargo clippy
complaints (redundant return variable)
2020-01-27 21:33:51 -06:00
Roy Ivy III
88a45a157b
refactor/polish ~ fix cargo clippy
complaints (redundant return)
2020-01-27 21:33:51 -06:00
Roy Ivy III
564168ccfc
refactor/polish ~ fix cargo clippy
complaints (redundant clone)
2020-01-27 21:33:51 -06:00
Roy Ivy III
2e90c78fae
refactor/polish ~ fix cargo clippy
complaints (redundant closure)
2020-01-27 21:33:51 -06:00
Roy Ivy III
fa8540cb15
refactor/polish ~ fix cargo clippy
complaints (DRY struct def)
2020-01-27 21:33:51 -06:00
Roy Ivy III
ea8ed8d5da
refactor/polish ~ fix cargo clippy
complaints (&Vec => &[])
2020-01-27 21:33:50 -06:00
Roy Ivy III
a72422fb0e
refactor/polish ~ fix cargo clippy
complaints (Vec<> => [])
2020-01-27 21:33:50 -06:00
Roy Ivy III
ec5ca193ac
refactor/polish ~ fix cargo clippy
complaints (char not string)
2020-01-27 21:33:50 -06:00
Roy Ivy III
11d68d3e51
refactor/polish ~ fix cargo clippy
complaints (number readability)
2020-01-27 21:33:50 -06:00
Roy Ivy III
3da2a69e11
refactor/polish ~ fix cargo clippy
complaints (unneeded String::from
)
2020-01-27 21:33:50 -06:00
Roy Ivy III
bf6368269c
refactor/polish ~ fix cargo clippy
complaints (unneeded parens)
2020-01-27 21:33:50 -06:00
Roy Ivy III
1216378c72
refactor/polish ~ fix cargo clippy
complaints (unneeded ref for copiable)
2020-01-27 21:33:50 -06:00
Roy Ivy III
bc558f301a
refactor/polish ~ fix cargo clippy
complaints (unneeded mut
)
2020-01-27 21:33:50 -06:00
Roy Ivy III
25b1f98cf8
refactor/polish ~ fix cargo clippy
complaints (unneeded format
)
2020-01-27 21:33:50 -06:00
Roy Ivy III
3bff70967c
refactor/polish ~ fix cargo clippy
complaints (use starts_with()
)
2020-01-27 21:33:50 -06:00
Roy Ivy III
e676447b3d
refactor/polish ~ fix cargo clippy
complaints (while let ... = some
=> for ... in
)
2020-01-27 21:33:49 -06:00
Roy Ivy III
8142ecf325
refactor/polish ~ fix cargo clippy
complaints (default/tests => let ... = if ...
)
2020-01-27 21:33:49 -06:00
Roy Ivy III
d192ebea5b
refactor/polish ~ fix cargo clippy
complaints (unwrap_or_else)
2020-01-27 21:33:49 -06:00
Roy Ivy III
4ddc65f255
refactor/polish ~ fix cargo clippy
complaints (String => str)
2020-01-27 21:33:49 -06:00
Roy Ivy III
2d95cfdcbd
refactor/polish ~ fix cargo clippy
complaints (remove allow unused_must_use)
2020-01-27 21:33:49 -06:00
Roy Ivy III
90a64a831a
refactor/polish ~ fix cargo clippy
complaints (for in => iter.take)
2020-01-27 21:33:49 -06:00
Roy Ivy III
1642933275
refactor/polish ~ fix cargo clippy
complaints (if is_none => as_ref()?)
2020-01-27 21:33:49 -06:00
Roy Ivy III
88db11a328
refactor/polish ~ fix cargo clippy
complaints (negation instead of * -1)
2020-01-27 21:33:49 -06:00
Roy Ivy III
3c2e609bfe
refactor/polish ~ fix cargo clippy
complaints (use values()
)
2020-01-27 21:33:49 -06:00
Roy Ivy III
c6e9808224
refactor/polish ~ fix cargo clippy
complaints (match function signatures)
2020-01-27 21:33:49 -06:00
Roy Ivy III
c6817aefb3
refactor/polish ~ fix cargo clippy
complaints (or_else)
2020-01-27 21:33:49 -06:00
Roy Ivy III
413c64fa12
refactor/polish ~ fix cargo clippy
complaints ('better' as println!()
)
2020-01-27 21:33:48 -06:00
Roy Ivy III
291d2f5d48
refactor/polish ~ fix cargo clippy
complaints ('better' as println!(...)
)
2020-01-27 21:33:48 -06:00
Roy Ivy III
ba5a2435be
refactor/polish ~ fix cargo clippy
complaints (unneeded _
)
2020-01-27 21:33:48 -06:00
Roy Ivy III
493f5f1496
refactor/polish ~ fix cargo clippy
complaints (use +=
/-=
notation)
2020-01-27 21:33:48 -06:00
Roy Ivy III
768ed71725
refactor/polish ~ fix cargo clippy
complaints (use b'...' notation)
2020-01-27 21:33:48 -06:00
Roy Ivy III
b276f4758f
refactor/polish ~ fix cargo clippy
complaints (iter.collect => to_vec)
2020-01-27 21:33:48 -06:00
Roy Ivy III
a9b1a03b37
refactor/polish ~ fix cargo clippy
complaints (fatal/write_all)
2020-01-27 21:33:48 -06:00
Roy Ivy III
662db61336
refactor/polish ~ fix cargo clippy
complaints (fatal/unneeded drop)
2020-01-27 21:33:48 -06:00
Roy Ivy III
181c9d6cae
refactor/polish ~ fix cargo clippy
complaints (fatal/unneeded clone)
2020-01-27 21:33:48 -06:00
Roy Ivy III
6043ac1cbd
refactor/polish ~ fix cargo clippy
complaints (fatal/temporary_cstring_as_ptr)
2020-01-27 21:33:48 -06:00
Roy Ivy III
1f5749e304
refactor/polish ~ fix cargo clippy
complaints (fatal/same if clause)
2020-01-27 21:33:48 -06:00
Roy Ivy III
1f137c245f
refactor/polish ~ fix cargo clippy
complaints (fatal/cast_ptr_alignment)
2020-01-27 21:33:47 -06:00
Roy Ivy III
c969becbf8
refactor ~ remove unneeded mem::uninitialized() code
...
.# [why]
`mem::ununitialized()` is deprecated as of rust v1.39.0.
And this use is likely a premature optimization attempting to avoid
initializing the byte array to 0, which is usually a *very* fast operation.
* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md >
* ref: <https://stackoverflow.com/questions/3654905/faster-way-to-zero-memory-than-with-memset >
2020-01-27 21:33:47 -06:00
Roy Ivy III
244bdf3d4f
who: fix ~ remove unneeded/incorrect time format size change
2020-01-27 21:33:47 -06:00
Roy Ivy III
9416709c9c
stat: fix birth/created time transformation
2020-01-27 21:33:47 -06:00
Roy Ivy III
45a04ce5fc
refactor ~ replace deprecated trim_{left,right}...
with trim_{start,end}...
...
- `trim_{start,end}{,_matches}` stabilized in rust v1.30.0
- `trim_{start,end}{,_matches}` deprecated (with compiler warnings) in rust v1.33.0
+ requires MinSRV >= v1.30.0
* ref: https://github.com/rust-lang/rust/blob/master/RELEASES.md
2020-01-27 21:33:47 -06:00
Roy Ivy III
c22cf215ba
refactor/polish ~ convert to inclusive range operator syntax (..=
)
...
- convert to newer `..=` syntax, fixing compiler warnings
+ requires MinSRV >= v1.26.0
.# [why]
The inclusive range operator (`..=`) was stabilized in rust v1.26.0.
Warnings requesting conversion from the old `...` operator to `..=` were
introduced in rust v1.37.0.
* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md >
2020-01-27 21:33:47 -06:00
Roy Ivy III
55209c6490
cp: use CreateFileW
to increase legacy windows compatiblity
2020-01-27 21:33:46 -06:00
Alex Lyon
2dad625dfa
Merge pull request #1402 from GabrielGanne/master
...
ls: fix --color flag
2020-01-27 15:20:43 -08:00
Sylvestre Ledru
0420d0849f
uptime: match the gnu version output
2020-01-03 22:58:11 +01:00
bippityboppity
3511aa987a
Add the 'dyn' keyword where necessary
...
The keyword is needed for trait objects and is intended to improve
readability.
https://doc.rust-lang.org/edition-guide/rust-2018/trait-system/dyn-trait-for-trait-objects.html
2019-10-01 18:34:26 +02:00
Felix Yan
f4b5d6c881
Correct some typos in printf.rs
2019-08-23 00:43:03 +08:00
Gabriel Ganne
64009b090f
ls: implement --color=auto behavior
...
The automatic behavior is to turn on colors only of connected to a
terminal.
Introduce new external crate isatty to handle this.
Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
2019-06-23 10:38:39 +02:00
Gabriel Ganne
edaf2d85cb
ls: implement --color flag
...
GNU coreutils ls command implements the --color option as follow:
--color[=WHEN]
colorize the output; WHEN can be 'always' (default if omitted),
'auto', or 'never'
With --color=auto, ls emits color codes only when standard output is connected
to a terminal.
Also, add support for the following aliases:
- ‘always’, ‘yes’, ‘force’
- ‘never’, ‘no’, ‘none’
- ‘auto’, ‘tty’, ‘if-tty’
Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
2019-06-23 10:35:30 +02:00
dependabot-preview[bot]
427381fd87
build: bump aho-corasick from 0.6.10 to 0.7.3
...
Bumps [aho-corasick](https://github.com/BurntSushi/aho-corasick ) from 0.6.10 to 0.7.3.
- [Release notes](https://github.com/BurntSushi/aho-corasick/releases )
- [Commits](https://github.com/BurntSushi/aho-corasick/compare/0.6.10...0.7.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-21 07:17:27 +00:00
Alex Lyon
33a112d64b
Merge pull request #1400 from uutils/dependabot/cargo/num_cpus-1.10.1
...
build: bump num_cpus from 1.10.0 to 1.10.1
2019-06-18 09:25:35 -07:00
dependabot-preview[bot]
4b5dbcf995
build: bump num_cpus from 1.10.0 to 1.10.1
...
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus ) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases )
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.10.0...v1.10.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-18 13:21:47 +00:00
dependabot-preview[bot]
642a2a4ecb
build: bump memchr from 1.0.2 to 2.2.0
...
Bumps [memchr](https://github.com/BurntSushi/rust-memchr ) from 1.0.2 to 2.2.0.
- [Release notes](https://github.com/BurntSushi/rust-memchr/releases )
- [Commits](https://github.com/BurntSushi/rust-memchr/compare/1.0.2...2.2.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-17 16:21:06 +00:00
Alex Lyon
8575512895
Merge pull request #1389 from uutils/dependabot/cargo/glob-0.3.0
...
build: bump glob from 0.2.11 to 0.3.0
2019-06-17 09:18:43 -07:00
dependabot-preview[bot]
50aab8541d
build: bump glob from 0.2.11 to 0.3.0
...
Bumps [glob](https://github.com/rust-lang/glob ) from 0.2.11 to 0.3.0.
- [Release notes](https://github.com/rust-lang/glob/releases )
- [Commits](https://github.com/rust-lang/glob/compare/0.2.11...0.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-15 22:35:35 +00:00
Alex Lyon
bc783edde7
Merge pull request #1388 from uutils/dependabot/cargo/byteorder-1.3.2
...
build: bump byteorder from 1.3.1 to 1.3.2
2019-06-15 15:34:20 -07:00
Alex Lyon
f1a4d5d4f7
Merge pull request #1393 from uutils/dependabot/cargo/itertools-0.8.0
...
build: bump itertools from 0.7.11 to 0.8.0
2019-06-15 15:33:56 -07:00
Alex Lyon
16daa41f38
Merge pull request #1392 from uutils/dependabot/cargo/regex-syntax-0.6.7
...
build: bump regex-syntax from 0.6.6 to 0.6.7
2019-06-15 15:33:45 -07:00
dependabot-preview[bot]
7a24f5e517
build: bump walkdir from 2.2.7 to 2.2.8
...
Bumps [walkdir](https://github.com/BurntSushi/walkdir ) from 2.2.7 to 2.2.8.
- [Release notes](https://github.com/BurntSushi/walkdir/releases )
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.2.7...2.2.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-13 12:59:42 +00:00
dependabot-preview[bot]
e7c3d2e381
build: bump itertools from 0.7.11 to 0.8.0
...
Bumps [itertools](https://github.com/bluss/rust-itertools ) from 0.7.11 to 0.8.0.
- [Release notes](https://github.com/bluss/rust-itertools/releases )
- [Commits](https://github.com/bluss/rust-itertools/compare/0.7.11...0.8.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-13 12:59:16 +00:00
dependabot-preview[bot]
a0ca860f93
build: bump regex-syntax from 0.6.6 to 0.6.7
...
Bumps [regex-syntax](https://github.com/rust-lang/regex ) from 0.6.6 to 0.6.7.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.6.6...regex-syntax-0.6.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-13 12:59:04 +00:00
dependabot-preview[bot]
688e08127b
build: bump byteorder from 1.3.1 to 1.3.2
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.1...1.3.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-13 12:57:14 +00:00
Alex Lyon
ab8c2b021a
env: fix build on Windows
2019-05-13 12:22:43 -07:00
Alex Lyon
18b19715f9
env: refactor and move away from pre-1.0 Rust conventions
2019-05-13 04:03:10 -07:00
Alex Lyon
b73a664677
Split off uucore into its own repository
2019-05-12 22:42:20 -07:00
Roy Ivy III
bbd0a26012
env: minor fixes and commentary polish
2019-05-09 19:06:32 -05:00
Alex Lyon
8a86c84461
uucore: allow the Linux zero-copy setup on Android
2019-05-01 21:15:01 -07:00
Alex Lyon
2019833fbb
uucore: remove an inaccurate comment
2019-05-01 21:15:01 -07:00
Alex Lyon
b46e2289d6
uucore, yes: add zero-copy on supported platforms (only Linux currently)
2019-05-01 21:15:00 -07:00
Alex Lyon
7651d4d3fc
Get rid of all warnings on Linux (or at least WSL)
2019-05-01 21:14:40 -07:00
Alex Lyon
db35eab23b
Remove git dependencies
2019-05-01 21:14:39 -07:00
Alex Lyon
179de609b5
Replace trim_{left,right} with trim_{start,end} and co. (using Rerast)
2019-05-01 21:14:25 -07:00
Alex Lyon
c7d115b1ad
Convert all try!() to ?
2019-05-01 21:14:25 -07:00
Alex Lyon
220e07dc95
Test on FreeBSD using Cirrus CI and link to the Discord in the README
2019-05-01 21:14:25 -07:00
Zachary Dremann
6fe687c84b
Replace starts_with and slice with trim_left_matches
2019-04-30 21:02:29 -04:00
Zachary Dremann
34eceae2ef
Don't allocate in signal_by_name_or_value
2019-04-29 21:53:14 -04:00
Zachary Dremann
8378c28242
Fix is_signal
2019-04-29 21:35:07 -04:00
Zachary Dremann
1ed8a016c1
Add tests for signals (including failing test for is_signal
2019-04-29 21:32:28 -04:00
Roy Ivy III
31655fc004
env: add support for new '--file' option (includes testing)
...
.# Discussion
This commit adds support for a '-f'/'--file' option which reads "KEY=VALUE" lines from
a config (or ini) style text file and sets the corresponding environment key. This is
modeled after the same option in the `dotenv` and `godotenv` commands. Notably, this
commit does *not* add automatic loading of ".env" configuration files.
The environment variables set by reading the configuration file are set prior to any
unset (eg, `-u BAR`) or set (eg, `FOO=bar`) actions. Files are loaded in order with
later files overwriting any overlapping environment variables, then, unset actions (in
command line order) are executed, then, finally, set actions (in command line order)
are executed.
[1] [`dotenv`](https://github.com/bkeepers/dotenv )
[2] [`godotenv`](https://github.com/joho/godotenv )
2019-04-29 09:50:22 -05:00
Roy Ivy III
9dc31cc1ce
env: enhance support for windows commands (BAT/CMD, builtins)
...
.# Discussion
`env`/`uutils env` didn't support CMD built-in commands (dir, echo, erase, ...),
BAT/CMD files, nor the usual semantics for command search and execution via
PATHEXT (eg, it wouldn't find/execute `batch.BAT` when given just `batch`).
This patch executes the commands via a CMD subshell and fixes all of those issues.
2019-04-29 09:50:22 -05:00
Reto Habluetzel
905d01623d
env: extend help for --null
2019-04-28 12:53:17 +02:00
Reto Habluetzel
2d2042c8fc
env: reject program with --null, error stderr
2019-04-28 11:17:44 +02:00
Marcus Millin
7625878cd7
chown: change first file with --reference
2019-04-23 16:30:17 -05:00
Alex Lyon
01966e8aab
Merge pull request #1356 from Arcterus/echo-locked-stdout
...
echo: write using locked stdout
2019-04-08 15:57:02 -07:00
Alex Lyon
cefbe6c1f2
Merge pull request #1319 from rivy/fix.touch
...
fix ~ touch: fix and test for windows
2019-04-08 15:16:26 -07:00
Roy Ivy III
256a403caa
touch: fix ~ use set_symlink_file_times()
+ remove unused code
2019-04-07 09:14:46 -05:00
Alex Lyon
42794e9f11
echo: write using locked stdout
2019-04-05 22:23:01 -07:00
Alex Lyon
23f6dbf2d3
Merge pull request #1306 from rinconjc/1235
...
tests: untrimmed stdout assertion (fix #1235 )
2019-04-05 22:22:18 -07:00
Alex Lyon
dbc9527b00
Merge pull request #1336 from rinconjc/1321
...
Fix #1321 tsort handle self-loops
2019-04-05 19:15:23 -07:00
Alex Lyon
100f6df2bf
Merge pull request #1354 from ccbrown/rewrite-echo
...
echo: rewrite for readability and tests
2019-04-05 18:39:18 -07:00
Alex Lyon
5934666da3
Merge pull request #1338 from Arcterus/refactor-base32_64
...
base32, base64, uucore: merge base32/base64 code
2019-04-05 16:07:18 -07:00
Christopher Brown
1e223b0b58
echo: rewrite for readability and tests
2019-04-05 18:55:48 -04:00
Alex Lyon
94838dd54c
Merge pull request #1317 from rivy/fix.expr
...
fix ~ expr: update onig/onig_sys dependency (fixes windows compilation bug)
2019-04-03 16:03:26 -07:00
Alex Lyon
dd753e2c78
Merge pull request #1315 from rivy/fix.rm
...
fix ~ rm: fix dir-type symlink removal on windows
2019-04-03 15:53:00 -07:00
Alex Lyon
9817f297b7
Merge pull request #1304 from rivy/fix.cp
...
fix "`cp` always creates backup"
2019-04-03 15:51:18 -07:00