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
Sam Cappleman-Lynes
99873d06e5
Scalar operations on integer types up to 32 bits
2017-06-29 18:29:14 +01:00
Sam Cappleman-Lynes
8b1288ea01
Add scalar multiplication to BigInt
2017-06-29 15:46:07 +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
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
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
0b6cae0dc7
bigint: Create the parsing error better for nested `+`
...
If a `+` is encountered in the middle of parsing a BigUint, this should
generate an `ParseIntError::InvalidDigit`. Since we can't create that
directly, we get it by trying to parse a `u64` from this point, but of
course `+` is a perfectly valid prefix to a `u64`.
Now we include the previous character in the string passed to `u64`, so
it has proper parsing context to understand what's in error.
Fixes #268 .
2017-03-06 13:23:40 -08:00
Josh Stone
4b8c71fbec
bigint: Cleanup unused imports
2017-03-06 13:20:30 -08:00
Josh Stone
5c3d759d6c
bigint: inline bits() methods
2016-08-10 22:23:28 -07:00
Kent Overstreet
279522316c
bigint: Break out into multiple files
2016-07-18 15:56:03 -08:00