Commit Graph

38 Commits

Author SHA1 Message Date
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
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
Murarth b2767517f4 Check for zero denominator when parsing Ratio
Closes #122
2015-10-16 13:10:16 -07:00
root 4c123a9e71 Make rustc-serialize, bignum, rational, complex into opt-out features
Making bignum optional allows skipping the rustc-serialize and rand
dependencies too, and it makes a big difference in num's build time.

With default (all) features, clean build time including dependencies: 27
seconds.

With no default features, clean build time including dependencies (none):
5 seconds.
2015-06-02 23:48:06 +02:00
runarberg 505eb86c18 Added the power method for rational numbers 2015-05-17 18:22:32 +00:00
Aaron Turon 63c7a25ed9 Update to 1.0.0-beta (stable only)
Along the way, this commit also rationalizes the traits a bit more.

Moving to stable required vendoring a couple of minor things (notably,
radix formatting).
2015-04-03 10:17:39 -07:00
Alex Crichton fcd3760625 Get tests passing again 2015-04-02 09:37:32 -07:00
Darin Morrison 8ea4c031dd Replace #[should_fail] with #[should_panic] 2015-03-17 22:21:25 -06:00
Alex Crichton 817dec99aa Remove usage of deprecated apis 2015-03-04 09:45:19 -08:00
Austin Bonander f260a7f565 Upgrade to latest Rust 2015-02-20 10:37:11 -08:00
Sam Payson 6a0c32782e Change `radix` to u32, to build with new rustc. 2015-02-18 16:29:46 -08:00
Matt Brubeck 42edb63090 Update FromStr and FromStrRadix to return Result
Fixes build errors with Rust 1.0.0-nightly.
2015-02-03 12:31:10 -08:00
Alex Crichton c05cd530db Bump to 0.1.10 2015-01-23 08:54:55 -08:00
Huon Wilson 139cf8cf66 Bump to 0.1.7. 2015-01-09 22:36:03 +11:00
Alex Crichton bfa91ee92a Bump to 0.1.6 2015-01-07 12:09:44 -08:00
gifnksm 8219095e39 update to rust mater 2015-01-05 01:59:44 +09:00
Sven Nilsen ae3bb3619c Upgrade to latest Rust
A `_0` test fails, but don’t know why
2015-01-03 19:30:05 +01:00
Alex Crichton 5d4b921537 Fix build warnings 2014-12-23 09:51:08 -08:00
gifnksm 9316be3bc1 update to latest rustc 2014-12-21 19:41:03 +09:00
Chase McCarthy a7e9e79049 Add semicolons to macro lines 2014-12-18 21:01:24 -05:00
gifnksm a325a566c6 update to latest rustc
Now, arithmetic binary operator traits take operands by value,
but non-copyable types such as `BigUint` should not always moved out when
applying operators.

This commit implements these operators not only for bare structs also
these references.
By-value implementations are forwarded to by-reference implementations
for now. In the future, by-value implementations may be replaced with
more efficient implementations (for example, the implementation that
reuses moved buffers.)
2014-12-16 23:44:16 +09:00
gifnksm d89fbbf044 Add `deriving(Copy)` for `Copy`able structs/enums/ 2014-12-09 23:46:39 +09:00
gifnksm b20dda2307 Update to iter stabilization.
`AdditiveIterator::sum` and `MultiplicativeIterator::product` now take bare self.
2014-11-27 23:06:06 +09:00
gifnksm 233c02030d Fix for namespaced enums. 2014-11-18 21:09:53 +09:00
gifnksm 29011d14d9 std::from_str::FromStr -> std::str::FromStr 2014-11-17 22:38:12 +09:00
gifnksm 2155e7d2ee Add numeric functions and `traits` module that provide numeric traits for generic
mathematcs.

Import numeric traits and functions that were removed from the standard library.
This also implements `AdditiveIterator` and `MultiplicativeIterator` for
`BigUint` and `BigInt`.

closes #28
2014-11-16 19:37:49 +09:00
gifnksm 7a7c5fb2ad Implements `Encodable` and `Decodable`
Fixes #27
2014-11-13 20:54:42 +09:00
Joseph Crail e09b009edb Remove unused imports. 2014-11-07 21:21:23 -05:00
gifnksm 163646cd63 Use sliciing_syntax 2014-11-05 07:32:00 +09:00
Joseph Crail 11901f7724 Fix warning about renamed missing doc attribute. 2014-11-01 17:16:43 -04:00
Zbigniew Siciarz 462f7131bc fail -> panic 2014-10-30 14:20:15 +01:00
Alex Crichton 6c56fe940c Update to Rust master
Closes #17
2014-10-21 09:27:08 -07:00
gifnksm ac37b913d9 Fix `non_uppercase_statics` warnings of private constants. 2014-10-10 22:54:30 +09:00
gifnksm 2fe050c471 Convert statics to constants 2014-10-10 22:50:22 +09:00
Joseph Crail d9b56348c6 Fix regression and overflow bug for rationals. 2014-09-17 22:23:07 -04:00
Aaron Turon 482f0e0b74 Initial seeding from rust repo 2014-09-16 10:35:35 -07:00