Josh Stone
3adce78385
macros: bump to 0.1.37
2017-09-19 16:28:23 -07:00
Josh Stone
ec0342e9f1
macros: add ast::Arm beginning_vert
2017-09-19 16:27:02 -07:00
Josh Stone
953087fe4e
Fix biguint assert_assign_op for rust 1.8
...
The `$op` only seems to be accepted when used indirectly through another
macro, in this case `assert_eq`. How nice.
2017-09-19 14:00:51 -07:00
Josh Stone
98a3f17db6
Fix impl_rem_assign_scalar for rust 1.8
2017-09-19 13:47:59 -07:00
Isaac Carruthers
b29c13e54f
Remove unnecessary PartialOrd constraint on new Rem implementation.
2017-09-11 17:13:01 -04:00
Alice Ryhl
ff8f106186
Test *Assign for BigUint
2017-09-03 10:44:17 +02:00
Alice Ryhl
555dab7d33
Implement ShrAssign and ShlAssign for BigUint
2017-09-03 09:56:29 +02:00
Alice Ryhl
2f6c0bf354
Implement BitXorAssign for BigUint
2017-09-03 09:53:33 +02:00
Alice Ryhl
8c3b2de11c
Implement BitAndAssign and BitOrAssign for BigUint
2017-09-02 23:37:54 +02:00
Alice Ryhl
23085800e0
Implement RemAssign for BigUint
2017-09-02 23:29:34 +02:00
Alice Ryhl
e85ab24567
Forward by-value biguint and scalars to {Add,Mul,Sub,Div}Assign
2017-09-02 22:38:12 +02:00
Alice Ryhl
04117fafe9
Implement DivAssign for BigUint
2017-08-26 14:50:01 +02:00
Alice Ryhl
17030ea412
Implement SubAssign for BigUint
2017-08-26 14:50:01 +02:00
Alice Ryhl
8c47ca00c7
Implement MulAssign for BigUint
2017-08-26 14:50:01 +02:00
Alice Ryhl
03d717f26f
Implement AddAssign for BigUint
2017-08-26 14:50:01 +02:00
Isaac Carruthers
263bd0ec44
Switch to using a simpler scheme for complex remainders
2017-08-22 16:14:36 -04:00
Isaac Carruthers
42a6ae5353
Extract common logic for from_str and from_str_radix for `Complex`
2017-08-22 14:27:43 -04:00
Nicolas Kirchner
bcd76c55e8
Optimize mac_digit
2017-08-15 21:14:15 +02:00
Nicolas Kirchner
243bc6fe4c
Optimize Toom-3 algorithm
2017-08-15 19:27:22 +02:00
Nicolas Kirchner
b43c1ab258
Replace the use of a feature not yet implemented in rust 1.8
2017-08-15 01:39:43 +02:00
Nicolas Kirchner
c9c40b9402
Optimize and clean the Toom-3 algorithm and choose better thresholds
2017-08-14 20:07:35 +02:00
Nicolas Kirchner
d7554ad931
Naive implementation of the Toom-3 algorithm
...
The Toom-2 algorithm is bypassed for tests.
2017-08-13 23:32:03 +02:00
Isaac Carruthers
41d6a32dba
Removed extraneous where clauses
2017-08-10 11:11:31 -04:00
Isaac Carruthers
2dcb722007
Merge remote-tracking branch 'upstream/master'
2017-08-09 18:10:54 -04:00
Isaac Carruthers
1b671ca43e
Add general Rem and Num implementations for Complex<T>
2017-08-08 21:52:43 -04:00
Nicolas Kirchner
10127907f5
Add a bench for bigint multiply
...
This bench allows to see the increase of time
if we double the size of one of the operands.
2017-08-03 18:30:09 +02:00
bors[bot]
e7df30bac4
Merge #325
...
325: Implement assign_from_slice r=cuviper
This commit implements `assign_from_slice(..)` for `BigUint` and `BigInt`. `assig_from_slice` is for performance : it allows to reassign a value to a `BigInt` or a `BigUint` without useless reallocations. It would be useful for loops for example. I need it to implement the Toom-3 algorithm.
I also added a missing test for `BigInt::from_slice(..)`.
2017-08-03 01:23:53 +00:00
Nicolas Kirchner
cbdaf8f6f9
Optimize `BigInt::from_biguint` and `BigInt::assign_from_slice`
...
It removes useless memory allocations.
2017-08-02 22:25:21 +02:00
Nicolas Kirchner
5106fcc95a
Replace `Vec::copy_from_slice` not implemented in rust 1.8 by another method
2017-08-02 16:38:38 +02:00
Nicolas Kirchner
9b56d6667c
Implement assign_from_slice
2017-08-02 16:12:04 +02:00
bors[bot]
54fe41f305
Merge #323 #324
...
323: Add CI badge r=cuviper
324: Add CI badge r=cuviper
This adds the CI badge to the pages on crates.io, #323 adds it to the README. Sorry for the separate PRs, but I didn't feel like forking and cloning the repository down to my laptop and simply used the GitHub online editor instead :-)
2017-07-25 00:21:18 +00:00
Martin Geisler
97bc42854a
Add CI badge
2017-07-25 00:17:17 +02:00
Martin Geisler
8d64ff9708
Add CI badge
2017-07-25 00:16:07 +02:00
Josh Stone
846ef39ba6
complex: bump to 0.1.40 with fixed traits dep
2017-07-23 21:24:34 -07:00
bors[bot]
a8ebac5af1
Merge #317
...
317: Feature/complex from str r=cuviper
This commit adds a basic parser for Complex types in Cartesian form, per https://github.com/rust-num/num/issues/289 . It will take numbers of the form `a + bi`, `ai + b`, `a - bi`, `ai - b`, `a`, or `ai`. At least one space between the real/imaginary parts and the operator is mandatory; without bringing in a dependency on some regex crate, it's nontrivial to handle cases like, e.g., 0.217828e+1+31.4159E-1, or a similar case with polar coordinates. I could work on these issues later if you like.
2017-07-19 22:19:24 +00:00
Josh Stone
ee6bbdb2f6
complex: refactor ParseComplexError a little
2017-07-19 15:16:34 -07:00
Josh Stone
bd22a89a32
complex: Simplify the from_str signature
2017-07-19 12:49:03 -07:00
Josh Stone
79c7a4be5f
complex: relax the FromStr trait requirements even more
2017-07-19 12:47:07 -07:00
Alan Liddell
16a180f132
simplifies parse loop, allows leading '+', parametrizes Error on T::Err
2017-07-19 06:03:05 -04:00
Alan Liddell
add0fbf0f0
More informative error messages for complex::from_str
2017-07-16 15:20:50 -04:00
Alan Liddell
38ee1304bb
Cleaned out some allocations
2017-07-16 09:51:55 -04:00
Josh Stone
23d1ab689d
num: bump to 0.1.40
2017-07-14 17:42:00 -07:00
Josh Stone
4e9b426c30
rational: bump to 0.1.39
2017-07-14 17:39:21 -07:00
Josh Stone
fe55d1fb4e
iter: bump to 0.1.34
2017-07-14 17:38:12 -07:00
Josh Stone
59b8433a5e
derive: bump to 0.1.41
2017-07-14 17:36:17 -07:00
Josh Stone
11a23dd5d7
complex: bump to 0.1.39
2017-07-14 17:33:58 -07:00
Josh Stone
ea2158f3dd
bigint: bump to 0.1.40
2017-07-14 17:32:18 -07:00
Josh Stone
63aa15ae9a
integer: bump to 0.1.35
2017-07-14 17:30:18 -07:00
Josh Stone
ca433f74ab
traits: bump to 0.1.40
2017-07-14 17:28:12 -07:00
Alan Liddell
97e6d45d03
Adds more tests, including failure cases
2017-07-13 14:50:27 -04:00