Josh Stone
18cc1902fb
inline i32_abs_as_u32 and i64_abs_as_u64
2017-07-11 17:01:15 -07:00
bors[bot]
73a2dfd647
Merge #314
...
314: Derive ToPrimitive for enums r=cuviper
I had to double the compile fail tests, as they will bail on the first error.
I have some ideas for more complex to/from primitive derives (with inner values that implement to/from primitive), but I'll save those for a future PR.
2017-07-11 22:28:02 +00:00
bors[bot]
26af99cf39
Merge #318
...
318: Add cargo keywords and categories. r=cuviper
Fixes #306 . Suggestions welcome for better keywords/categories, though there is a limit of 5 of each.
2017-07-11 22:20:41 +00:00
Keith Wansbrough
ef83e851e7
Add keywords and categories to subcrates too.
2017-07-11 09:30:42 +01:00
Keith Wansbrough
c87faf46a6
Tweak categories based on review.
2017-07-11 09:47:15 +01:00
Keith Wansbrough
eddcb54d6b
Add cargo keywords and categories.
...
Resolves #306 . Suggestions welcome for better keywords/categories, though there is a limit of 5 of each.
2017-07-11 09:47:15 +01:00
bors[bot]
bcccab17dd
Merge #311
...
311: rational: make sure Hash agrees with Eq r=cuviper
We can't use a derived `Hash` when we have a manual `Eq`, because we
need to uphold the invariant `a == b` → `h(a) == h(b)`. Since `Eq`
doesn't require them to be in reduced form, `Hash` also needs to be
normalized.
Fixes #310 .
2017-07-10 20:12:23 +00:00
bors[bot]
36b492a191
Merge #315
...
315: Fix float NaN positive/negative assumptions r=cuviper
These are the minimal assumptions to make about `NaN`. Fixes part of #312 (but not the `next` branch).
2017-07-10 17:31:04 +00:00
Alan Liddell
e5e8266009
handles case where imaginary part is just 'i' or '-i', adds tests
2017-07-10 09:51:46 -04:00
Alan Liddell
506fbaf4e7
swap 'Some(u)' out for '_' to suppress unused variable warnings
2017-07-10 08:09:49 -04:00
Alan Liddell
3c490cdee4
adds basic parser for complex numbers in Cartesian form
2017-07-10 05:57:38 -04:00
Lee Bousfield
426034ba09
Switch doctests to match functions
2017-07-09 08:30:22 -04:00
Josh Stone
31fa9f626a
Merge pull request #316 from cuviper/bors-ng
...
Enable bors-ng
2017-07-08 22:51:41 -07:00
Josh Stone
b181cae401
Enable bors-ng
2017-07-08 22:29:48 -07:00
Josh Stone
3299702e69
Whitelist branches for CI
2017-07-08 22:28:49 -07:00
Lee Bousfield
aaa4ab357f
Clarify what "newer versions of Rust" applies to
2017-07-08 17:21:32 -04:00
Lee Bousfield
f0fa65a9d5
Fix float NaN pos/neg assumptions
2017-07-08 17:15:35 -04:00
Lee Bousfield
5f3a3b0004
Derive ToPrimitive for enums
2017-07-08 11:24:42 -04:00
Sam Cappleman-Lynes
1fb03ca18a
Make new code work on rustc-1.8.0
...
- Don't apply attributes to statements (1.12.0)
- Don't use checked_abs (1.13.0)
2017-06-30 00:39:37 +01:00
Sam Cappleman-Lynes
2a3cd41820
Add scalar ops for all remaining integer types
2017-06-29 22:18:54 +01:00
Sam Cappleman-Lynes
fd87d87db3
Fix normalization in scalar addition
2017-06-29 20:40:54 +01:00
Josh Stone
3f32ad48f4
rational: make sure Hash agrees with Eq
...
We can't use a derived `Hash` when we have a manual `Eq`, because we
need to uphold the invariant `a == b` → `h(a) == h(b)`. Since `Eq`
doesn't require them to be in reduced form, `Hash` also needs to be
normalized.
2017-06-29 11:52:25 -07:00
Sam Cappleman-Lynes
99873d06e5
Scalar operations on integer types up to 32 bits
2017-06-29 18:29:14 +01:00
Sam Cappleman-Lynes
94d570697c
Add operations on i32 to BigInt
2017-06-29 17:20:17 +01:00
Sam Cappleman-Lynes
9b0392d235
Add scalar division to BigInt
2017-06-29 16:19:11 +01:00
Sam Cappleman-Lynes
8b1288ea01
Add scalar multiplication to BigInt
2017-06-29 15:46:07 +01:00
Sam Cappleman-Lynes
79448cbdf9
Add scalar subtraction to BigInt
2017-06-29 15:15:59 +01:00
Sam Cappleman-Lynes
80feea2722
Also implement scalar addition for BigInt
2017-06-29 14:07:44 +01:00
Sam Cappleman-Lynes
1e26bdde81
Remove unnecessary normalization
2017-06-29 13:53:08 +01:00
Sam Cappleman-Lynes
d0bfb54eee
All variants of dividing BigUint by BigDigit
...
Allow the division to occur with either operand order and with any
combination of owned and borrowed arguments.
2017-06-29 13:38:00 +01:00
Sam Cappleman-Lynes
51408a9b3b
All variants of subtracting BigDigit from BigUint
...
Allow the subtraction to occur with either operand order and with any
combination of owned and borrowed arguments.
2017-06-29 10:12:53 +01:00
Sam Cappleman-Lynes
5738141b7c
Distinction for commutative scalar ops
2017-06-29 09:59:42 +01:00
Sam Cappleman-Lynes
fd2f516a5d
All variants of multiplying BigUint by BigDigit
...
Allow the multiplication to occur with either operand order and with any
combination of owned and borrowed arguments.
2017-06-29 09:56:15 +01:00
Sam Cappleman-Lynes
e5ed503141
Implement all variants of adding BigDigit to BigUint
...
Allow the addition to occur with either operand order, and with any combination
of owned and borrowed arguments.
2017-06-29 08:41:46 +01:00
Sam Cappleman-Lynes
784d26bbf8
Scalar division of a BigUint by a BigDigit
...
A BigUint can be divided by a BigDigit - this is one of several
operations being implemented to allow scalar operations on BigInt and
BigUint across the board.
2017-06-28 16:59:35 +01:00
Sam Cappleman-Lynes
530e2f6022
Fix typo in comment in division algorithm
2017-06-28 16:26:40 +01:00
Sam Cappleman-Lynes
7b7799eab7
Scalar subtraction of a BigDigit from a BigUint
...
A BigDigit can be subtracted from a BigUint - this is one of several
operations being implemented to allow scalar operations on BigInt and
BigUint across the board.
2017-06-28 16:24:56 +01:00
Sam Cappleman-Lynes
a2a28c682e
Scalar addition of BigDigit to BigUint
...
A BigDigit can be added to a BigUint - this is one of several
operations being implemented to allow scalar operations on BigInt and
BigUint across the board.
2017-06-28 16:11:02 +01:00
Sam Cappleman-Lynes
e520bdad0d
Add scalar multiplication to BigUint, BigInt
...
BigUint and BigInt can now be multiplied by a BigDigit, re-using the same buffer for the output, thereby reducing allocations and copying.
2017-06-28 14:02:45 +01:00
Josh Stone
8964c65f38
bigint: apply a consistent order of conversion methods
2017-06-21 17:52:24 -07:00
Josh Stone
8dd6890ddc
Merge commit 'refs/pull/304/head' of github.com:rust-num/num
2017-06-21 17:33:46 -07:00
Eduardo Pinho
15f9334955
De-generalize `twos_complement' helper function
2017-06-20 01:31:49 +01:00
Eduardo Pinho
61cfdc37b3
BigInt two's complement adjustments
...
- rename `_twos_complement_` methods to just `_signed_`
- make `from_` variants take &[u8]
- refactor helper functions twos_complement (they take byte slice but use a generic function underneath)
- fix issues in `to_signed_` functions (only two's complement negative numbers; perform byte extension where needed)
- add tests to `to_signed_` methods
2017-06-18 01:42:56 +01:00
Phaiax
563e4dc509
from_radix_be/le for BigInt
2017-06-16 23:28:49 +02:00
Eduardo Pinho
1660590125
Add BigInt 2's complement conversions
...
- add methods `from_twos_complement_bytes_le`, `from_twos_complement_bytes_be`, `to_twos_complement_bytes_le`, and `to_twos_complement_bytes_be` to `BigInt`.
- add respective tests
2017-06-16 17:58:04 +01:00
Phaiax
1ea02d8d0c
Add _be/_le postfix to from/to_radix functions (BigInt)
2017-06-13 15:36:59 +02:00
Phaiax
fc09503d3d
Add fn from_radix() for radix > 36.
2017-06-11 20:08:43 +02:00
Phaiax
1ab07df709
Add fn to_radix() for radix > 36.
2017-06-11 18:31:44 +02:00
Josh Stone
b1b034f438
num: bump to 0.1.39
2017-06-09 11:03:50 -07:00
Josh Stone
d2defd67f2
bigint: bump to 0.1.39
2017-06-09 11:02:16 -07:00