about summary refs log tree commit diff
path: root/src/libextra/num
AgeCommit message (Collapse)AuthorLines
2013-09-06Incorporate feedback from huonwDavid Creswick-7/+22
- use identifiers with underscores to avoid unused variable warning - implement on R: Rng instead of on R: RngUtil - bugfix: zero BigInts were being generated twice as often as any other number - test that gen_biguint(0) always returns zero
2013-09-05Convert between BigInts and BigUintsDavid Creswick-0/+41
2013-09-05test the correct function (oops)David Creswick-2/+2
2013-09-05Generate random BigUints and BigIntsDavid Creswick-0/+53
2013-08-30std: Implement .rposition() on double-ended iterators with known sizeblake2-ppc-1/+1
This is a generalization of the vector .rposition() method, to all double-ended iterators that have the ExactSizeHint trait. This resolves the slight asymmetry around `position` and `rposition` * position from front is `vec.iter().position()` * position from the back was, `vec.rposition()` is now `vec.iter().rposition()` Additionally, other indexed sequences (only `extra::ringbuf` I think), will have the same method available once it implements ExactSizeHint.
2013-08-27librustc: Fix merge falloutPatrick Walton-7/+8
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-28/+62
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-26bigint: fix wrong benchmark fn namegifnksm-1/+1
2013-08-26bigint: Add benchmarksgifnksm-0/+44
2013-08-25bigint: un-ignore test_shrgifnksm-73/+68
2013-08-25bigint: inlining small functionsgifnksm-97/+92
2013-08-25bigint: remove unnecessary method implementsgifnksm-42/+0
2013-08-25bigint: cfg(target_arch = ...) => cfg(target_word_size = ...)gifnksm-25/+11
2013-08-20rm obsolete integer to_str{,_radix} free functionsDaniel Micay-1/+1
2013-08-12Forbid pub/priv where it has no effectAlex Crichton-1/+1
Closes #5495
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-2/+2
cc #5898
2013-08-07Forbid `priv` where it has no effectAlex Crichton-10/+10
This is everywhere except struct fields and enum variants.
2013-08-07core: option.map_consume -> option.map_moveErick Tryzelaar-2/+2
2013-08-07std: add result.map_move, result.map_err_moveErick Tryzelaar-1/+1
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-6/+6
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-08-03remove obsolete `foreach` keywordDaniel Micay-38/+38
this has been replaced by `for`
2013-08-02replace `range` with an external iteratorDaniel Micay-1/+1
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-37/+37
2013-07-23Fix some impls such that all supertraits are actually implemented.Michael Sullivan-0/+24
2013-07-17test: Fix tests.Patrick Walton-1/+4
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-13/+13
2013-07-12Remove the global 'vec::to_owned' functionAlex Crichton-1/+1
2013-07-09auto merge of #7117 : jensnockert/rust/freestanding, r=cmrbors-8/+9
The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16, u32, u64, float, int, and uint are replaced with generic functions in num instead. This means that instead of having to know everywhere what the type is, like ~~~ f64::sin(x) ~~~ You can simply write code that uses the type-generic versions in num instead, this works for all types that implement the corresponding trait in num. ~~~ num::sin(x) ~~~ Note 1: If you were previously using any of those functions, just replace them with the corresponding function with the same name in num. Note 2: If you were using a function that corresponds to an operator, use the operator instead. Note 3: This is just https://github.com/mozilla/rust/pull/7090 reopened against master.
2013-07-08Correct merge failuresNiko Matsakis-1/+1
2013-07-08extra: Patch up code that was using irrefutable patterns incorrectly.Niko Matsakis-6/+6
2013-07-08 Replaces the free-standing functions in f32, &c.Jens Nockert-8/+9
The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16, u32, u64, float, int, and uint are replaced with generic functions in num instead. If you were previously using any of those functions, just replace them with the corresponding function with the same name in num. Note: If you were using a function that corresponds to an operator, use the operator instead.
2013-07-04Remove standalone comparison functions in vec, make the trait impls better.Huon Wilson-9/+9
2013-07-04Remove vec::reversed, replaced by iterators.Huon Wilson-8/+11
2013-07-01rustc: add a lint to enforce uppercase statics.Huon Wilson-0/+3
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-5/+5
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-29Great renaming: propagate throughout the rest of the codebaseCorey Richardson-31/+25
2013-06-28libextra: Fix even more merge fallout.Patrick Walton-2/+0
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-2/+2
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-28librustc: Disallow "mut" from distributing over bindings.Patrick Walton-2/+6
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-27Convert vec::[mut_]slice to methods, remove vec::const_slice.Huon Wilson-9/+8
2013-06-23vec: remove BaseIter implementationDaniel Micay-28/+32
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-4/+4
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-21Remove all #[cfg(stage0)]-protected codeJames Miller-2/+0
New snapshot means this can all go. Also removes places that have comments that say they are workarounds for stage0 errors.
2013-06-18xfail std::num::complex::test_norm on x86, r=burningtree.Graydon Hoare-0/+2
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-7/+7
2013-06-14add IteratorUtil to the preludeDaniel Micay-2/+0
2013-06-13Revert "std: convert {vec,str}::to_owned to methods."Brian Anderson-1/+1
This fixes the strange random crashes in compile-fail tests. This reverts commit 96cd61ad034cc9e88ab6a7845c3480dbc1ea62f3. Conflicts: src/librustc/driver/driver.rs src/libstd/str.rs src/libsyntax/ext/quote.rs
2013-06-12std: generalise .trim_chars to use CharEq.Huon Wilson-1/+1
2013-06-12std: unify the str -> [u8] functions as 3 methods: .as_bytes() and ↵Huon Wilson-2/+2
.as_bytes_with_null[_consume](). The first acts on &str and is not nul-terminated, the last two act on strings that are always null terminated (&'static str, ~str and @str).
2013-06-12std: convert {vec,str}::to_owned to methods.Huon Wilson-1/+1