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
Josh Stone
81e932b671
rational: bump to 0.1.38
2017-06-09 10:58:40 -07:00
Josh Stone
796adf5dfa
traits: bump to 0.1.39
2017-06-09 10:56:13 -07:00
Homu
5cd52741c4
Auto merge of #301 - cuviper:revert-296, r=cuviper
...
Revert "Auto merge of #296 - vks:no_std, r=cuviper"
This reverts commit 8b5d4ac24e
, reversing
changes made to ef752e4687
.
See #297 -- it's a breaking change to feature-gate existing APIs.
2017-06-10 02:26:53 +09:00
Josh Stone
fe34d17aaf
Revert "Auto merge of #296 - vks:no_std, r=cuviper"
...
This reverts commit 8b5d4ac24e
, reversing
changes made to ef752e4687
.
2017-06-09 10:12:50 -07:00
Homu
681bbf8659
Auto merge of #300 - cuviper:no-default-subcrates, r=cuviper
...
Test and fix subcrates with --no-default-features
- The CI script now tests them all with --no-default-features.
- bigint: testing needs rand even when the main feature is disabled.
- rational: gate `FromPrimitive for Ratio<BigInt>` on having bigint.
2017-06-10 02:00:14 +09:00
Josh Stone
8b9cdaada2
Test and fix subcrates with --no-default-features
...
- The CI script now tests them all with --no-default-features.
- bigint: testing needs rand even when the main feature is disabled.
- rational: gate `FromPrimitive for Ratio<BigInt>` on having bigint.
2017-06-09 09:54:50 -07:00
Homu
f809c79d9f
Auto merge of #299 - dotdash:rational-fix, r=cuviper
...
Fix building without the num-bigint feature
2017-06-10 01:54:07 +09:00
Björn Steinbrink
33ca084e85
Fix building without the num-bigint feature
2017-06-09 18:45:44 +02:00
Josh Stone
7bf9a6ccf2
num: bump to 0.1.38
2017-06-08 23:53:47 -07:00
Josh Stone
1033388e02
rational: bump to 0.1.37
2017-06-08 23:50:30 -07:00
Josh Stone
a6d4d6e67d
bigint: bump to 0.1.38
2017-06-08 23:48:27 -07:00
Josh Stone
9a9765a1db
complex: bump to 0.1.38
2017-06-08 23:46:08 -07:00
Josh Stone
ae438d3608
traits: bump to 0.1.38
2017-06-08 23:42:41 -07:00
Homu
8b5d4ac24e
Auto merge of #296 - vks:no_std, r=cuviper
...
traits: Introduce std feature
This makes it possible to build `traits` without `std`. For this a new
trait `BasicFloat` was introduced, implementing some basic functionality
that works with `core`. Most notably this is lacking functions like
`cos`, `sin`, etc.
`Float` is not available without `std`.
Refs #216 .
2017-06-09 15:25:08 +09:00
Vinzent Steinberg
ba73ba2af0
Avoid infinite recursion on `no_std`
2017-06-08 10:02:39 +02:00
Vinzent Steinberg
b7d2a99d09
Add word of caution about `Float` and `no_std`
2017-06-07 12:22:26 +02:00
Vinzent Steinberg
63ce0f04ae
Don't duplicate `num_traits::pow`
2017-06-07 12:17:16 +02:00
Vinzent Steinberg
f8a61962ba
Use native `to_degrees`/`to_radians`
2017-06-07 12:05:53 +02:00
Vinzent Steinberg
d201882c61
Fix typo
2017-06-07 11:59:28 +02:00
Vinzent Steinberg
128e456342
Travis, please test traits with no_std
2017-06-02 12:01:31 +02:00
Vinzent Steinberg
169105bb84
Implement `Float::{min, max}` for `no_std`
2017-06-02 11:47:46 +02:00
Vinzent Steinberg
6253669ef4
Mark methods in `Float` whether they require `std`
...
This removes the `BasicFloat` trait.
2017-06-02 11:47:45 +02:00