Łukasz Jan Niemier
956bb0f4db
Reapply ebed6756de
2016-03-25 12:34:48 +01:00
Łukasz Jan Niemier
72fa7ece48
Reapply #167
2016-03-11 10:24:10 +01:00
Łukasz Jan Niemier
7c0ab30bdc
Fix subpackages metadata
2016-03-11 10:22:26 +01:00
Łukasz Jan Niemier
96e9166b0a
Extract iter
2016-03-11 01:06:37 +01:00
Łukasz Jan Niemier
ed076070e6
Extract complex
2016-03-11 01:06:37 +01:00
Łukasz Jan Niemier
2a67a5b86e
Extract num-rational
2016-03-11 01:06:37 +01:00
Łukasz Jan Niemier
54685c46a1
Extract rational
2016-03-11 01:06:37 +01:00
Łukasz Jan Niemier
2176b7048c
Extract bigint
2016-03-11 01:06:05 +01:00
Łukasz Jan Niemier
f1a80857ee
Extract integer module
2016-03-11 01:06:05 +01:00
Łukasz Jan Niemier
4361521f5a
Move num-macros to macros to fit new naming system
2016-03-11 01:06:05 +01:00
Łukasz Jan Niemier
c124be549f
Move traits to separate crate
2016-03-11 01:06:05 +01:00
Homu
7eb666f6b8
Auto merge of #176 - murarth:bigint-bits, r=cuviper
...
Expose `BigUint::bits` through `BigInt`
2016-03-06 06:00:56 +09:00
Murarth
df34563eda
Expose `BigUint::bits` through `BigInt`
2016-03-05 13:46:22 -07:00
Homu
9b0d4c91cb
Auto merge of #171 - erickt:serde, r=hauleth
...
Add support for Serde 0.7.
Serde 0.7 dropped it's dependency on num, so this patch moves the implementations here. For the sake of a better implementation, this just serializes BigUint as a `Vec<u32>`, `BigInt` as a `(u8, Vec<u32>)`, `Complex<T>` as a `(T, T)`, and `Ratio<T>` as a `(T, T)`.
2016-02-27 20:17:18 +09:00
Erick Tryzelaar
112923eec5
Add support for Serde 0.7.
...
Serde 0.7 dropped it's dependency on num, so this patch moves
the implementations here. For the sake of a better implementation,
this just serializes BigUint as a `Vec<u32>`, `BigInt` as a
`(u8, Vec<u32>)`, `Complex<T>` as a `(T, T)`, and `Ratio<T>`
as a `(T, T)`.
2016-02-27 00:07:32 -08:00
Homu
9079b88b1c
Auto merge of #169 - cuviper:rational-overflow, r=hauleth
...
Avoid overflows in Ratio's Ord::cmp
Fixes #7
2016-02-25 20:29:50 +09:00
Josh Stone
4e66bbe6a7
Avoid overflows in Ratio's Ord::cmp
...
Fixes #7
2016-02-22 18:10:29 -08:00
Josh Stone
8be7e7bab5
Simplify some Ratio methods
2016-02-22 18:09:21 -08:00
Josh Stone
5b2cb8df97
Simplify Integer dependant traits
...
- Integer only needs to require Ord explicitly, and then PartialOrd, Eq,
and PartialEq come transitively.
- Generics on Integer can implicitly use all of those comparison traits.
This should not be a breaking change, as it doesn't actually change any
effective trait requirements -- only what's explicit for simplicity.
2016-02-22 15:34:10 -08:00
Homu
2f63d3bdc3
Auto merge of #168 - crazymykl:literally-positive, r=cuviper
...
Allow unary `+` when parsing Big{U,}Int from strings
2016-02-22 08:40:15 +09:00
Mike MacDonald (crazymykl)
9def836603
Allow unary `+` when parsing BigInt from strings
2016-02-21 18:09:56 -05:00
Homu
69f11004f6
Auto merge of #167 - pnkfelix:fix-issue-166, r=cuviper
...
Reorder ops in LCM to avoid overflow.
Reorder ops in LCM to avoid overflow.
Fix #166
2016-02-19 07:10:29 +09:00
Felix S. Klock II
d298262573
Reorder ops in LCM to avoid overflow. Fix #166
2016-02-18 22:49:34 +01:00
Josh Stone
7a33808b07
Publish num 0.1.31
2016-02-17 00:44:20 -08:00
Josh Stone
ebed6756de
impl Debug for ParseFloatError
...
Fixes #165 .
2016-02-16 15:37:06 -08:00
Homu
1a15d33560
Auto merge of #163 - gmorenz:update_nightly, r=hauleth
...
Update num_macros to current nightly
Fixes num_macros build for current nightly, broken by [this](https://github.com/rust-lang/rust/pull/31487/files ) PR on rust.
2016-02-16 07:44:46 +09:00
Greg Morenz
4c379ff4c7
Update ast::BiEq to BinOpKind::Eq
2016-02-15 16:44:51 -05:00
Josh Stone
9b2116d78f
Fix spelling of "occurred".
2016-02-05 16:04:34 -08:00
Homu
d1adf45389
Auto merge of #162 - est31:add_checked_pow, r=cuviper
...
Add checked_pow function
Implements a `checked_pow` function which does the same as `pow`, just with overflow checks.
And, similar to #152 and #153 , the function uses references instead of cloning.
Adds a little macro to spare code repetition. Its scoped to the function so nothing gets polluted.
2016-02-06 09:01:32 +09:00
est31
3c5ecdc636
Add checked_pow function
2016-02-03 06:43:40 +01:00
Homu
e074e865ae
Auto merge of #161 - cuviper:shifty-ints, r=hauleth
...
Add signed/unsigned shifts to PrimInt
None
2016-01-29 19:37:34 +09:00
Josh Stone
afee4e4662
Change PrimInt shift names to signed/unsigned
2016-01-28 22:37:18 -08:00
Josh Stone
d798bd4fb8
Add arithmetic/logical shifts to PrimInt
2016-01-27 23:30:33 -08:00
Josh Stone
b454a14bc4
bigint: avoid new allocations for small shifts
...
Before:
test shl ... bench: 7,312 ns/iter (+/- 218)
test shr ... bench: 5,282 ns/iter (+/- 243)
After:
test shl ... bench: 4,946 ns/iter (+/- 88)
test shr ... bench: 4,121 ns/iter (+/- 52)
2016-01-27 23:08:47 -08:00
Josh Stone
1ebcc77513
Expand bigint shl/shr benchmarking
2016-01-27 22:53:10 -08:00
Homu
494fce7dd3
Auto merge of #160 - ollie27:bigint_more_fmt, r=cuviper
...
bigint: Improve fmt traits
* Make them take into account formatting parameters.
* ~~Make Debug match Display.~~
2016-01-21 18:06:03 -08:00
Oliver Middleton
95d8ccdb24
bigint: Make fmt traits take into account formatting parameters
2016-01-22 00:35:35 +00:00
Homu
516587ce2e
Auto merge of #159 - anchovieshat:master, r=cuviper
...
Add Binary, Octal to BigUint. Add UpperHex, LowerHex, Binary, Octal to BigInt
Is the testing for these enough? Any suggestions to improve them?
2016-01-18 23:27:35 -08:00
Colin Davidson
3c7441ab0a
Add Binary, Octal to BigUint. Add UpperHex, LowerHex, Binary, Octal to BigInt
2016-01-18 21:19:21 -08:00
Homu
e3bc794ca4
Auto merge of #158 - anchovieshat:master, r=cuviper
...
Add LowerHex and UpperHex formatting
These were mysteriously missing from BigUint.
2016-01-18 10:47:39 -08:00
Colin Davidson
a89a2e82e6
Fix test names
...
Upper and Lower test names were swapped
2016-01-17 12:17:52 -08:00
Colin Davidson
d5d7c855b0
Add tests for UpperHex and LowerHex
2016-01-17 12:13:45 -08:00
Colin Davidson
04000436b1
Switch to ascii uppercase function
2016-01-16 22:27:56 -08:00
Colin Davidson
80c4d01b7f
Add LowerHex and UpperHex formatting
2016-01-16 21:52:47 -08:00
Homu
010f562a62
Auto merge of #157 - durka:patch-1, r=hauleth
...
remove stale #[deriving(Zero)] docs
Fixes #156 .
2016-01-15 10:30:29 -08:00
Alex Burka
5962dd29c9
remove stale #[deriving(Zero)] docs
...
Fixes #156 .
2016-01-15 13:29:34 -05:00
Homu
e65fd4e5b2
Auto merge of #150 - ollie27:bigint_to_str, r=cuviper
...
bigint: small to_str_radix optimization
Before:
```
test fac_to_string ... bench: 1,630 ns/iter (+/- 34)
test fib_to_string ... bench: 359 ns/iter (+/- 11)
test to_str_radix_02 ... bench: 3,097 ns/iter (+/- 19)
test to_str_radix_08 ... bench: 1,146 ns/iter (+/- 38)
test to_str_radix_10 ... bench: 4,248 ns/iter (+/- 36)
test to_str_radix_16 ... bench: 881 ns/iter (+/- 44)
test to_str_radix_36 ... bench: 8,073 ns/iter (+/- 75)
```
After:
```
test fac_to_string ... bench: 1,492 ns/iter (+/- 20)
test fib_to_string ... bench: 368 ns/iter (+/- 7)
test to_str_radix_02 ... bench: 2,038 ns/iter (+/- 47)
test to_str_radix_08 ... bench: 812 ns/iter (+/- 9)
test to_str_radix_10 ... bench: 3,919 ns/iter (+/- 40)
test to_str_radix_16 ... bench: 703 ns/iter (+/- 58)
test to_str_radix_36 ... bench: 7,852 ns/iter (+/- 81)
```
2016-01-13 08:59:01 +09:00
Josh Stone
838b4e42b3
Publish num 0.1.30
2016-01-08 15:22:54 -08:00
Josh Stone
9ec4106a99
Merge pull request #154 from briansmith/optional-rand-rustc_serialize
...
Make `rand` and `rustc-serialize` dependencies optional.
2016-01-08 09:52:51 -08:00
Brian Smith
9e3e8552ac
Make `rand` and `rustc-serialize` dependencies optional.
...
Previously, the `rand` and `rustc-serialize` dependencies were optional
except they were required for the `bigint` feature.
Make the dependency on the `rand` crate optional in all cases.
including when the `bigint` feature is selected. Some of the tests for
the bigint feature are randomized so, while `rand` is now an optional
dependency, it is a non-optional dev-dependency.
Similarly, make the dependency on the `rustc-serialize` crate optional
in all cases, including when the `bigint` feature is selected.
2016-01-07 16:30:50 -10:00