about summary refs log tree commit diff
path: root/src/libstd/num
AgeCommit message (Collapse)AuthorLines
2013-09-08Fix import order which caused the wrong from_str to be in scopeCorey Richardson-3/+3
2013-09-09Fix unused import warnings on 32bit systemsBrendan Zabarauskas-2/+6
2013-09-08Add Clone and DeepClone constraints to Primitive traitBrendan Zabarauskas-1/+4
2013-09-08Moved checked trait impls out of std::numBrendan Zabarauskas-383/+411
This follows the same pattern as the other numeric trait impls, and reduces the clutter in std::num.
2013-09-06auto merge of #9010 : aaronlaursen/rust/master, r=alexcrichtonbors-4/+31
Here's a fix for issue #7588, "Overflow handling of from_str methods is broken". The integer overflow issues are taken care of by checking to see if the multiply-by-radix-and-add-next-digit process is reversible. If it overflowed, then some information is lost and the process is irreversible, in which case, None is returned. Floats now consistently return Some(Inf) of Some(-Inf) on overflow thanks to a call to NumStrConv::inf() and NumStrConv::neg_inf() respectively when the overflow is detected (which yields a value of None in the case of ints and uints anyway). This is my first contribution to Rust, and my first time using the language in general, so any and all feedback is appreciated.
2013-09-06fix for issue #7588, overflow now handled correctlyAaron Laursen-4/+31
2013-09-05Rename str::from_bytes to str::from_utf8, closes #8985Florian Hahn-3/+3
2013-08-30auto merge of #8896 : lightcatcher/rust/default_eq_fix, r=thestingerbors-10/+0
Summary: -removed "ne" methods in libstd and librustpkg -made default "ne" be inlined -made one of the "eq" methods in librustpkg follow more standard parameter naming convention
2013-08-30remove several 'ne' methodsEric Martin-10/+0
2013-08-30std: Add a fixme for when we add Trait::<for T>::static_method()Erick Tryzelaar-0/+2
2013-08-29auto merge of #8819 : vadimcn/rust/unit-tests, r=brsonbors-0/+21
Some of the tests are failing. I've only managed to fix 'memory_map_file', the rest are up for grabs... Fixes #5261.
2013-08-29Remove the iter module.Jason Fager-3/+16
Moves the Times trait to num while the question of whether it should exist at all gets hashed out as a completely separate question.
2013-08-28Disabled failing parts of abs_sub() and frexp() unit tests on Windows.Vadim Chugunov-0/+21
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-216/+415
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-22Enabled unit tests in std and extra.Vadim Chugunov-5/+0
2013-08-21auto merge of #8610 : kballard/rust/mod_floor, r=alexcrichtonbors-2/+15
`mod_floor()` was incorrectly defined for uint types as `a / b` instead of `a % b`.
2013-08-20rm obsolete float to_str_radix free functionsDaniel Micay-74/+53
2013-08-20rm obsolete integer to_str{,_radix} free functionsDaniel Micay-73/+52
2013-08-19auto merge of #8459 : thestinger/rust/checked, r=graydonbors-2/+42
2013-08-19Add externfn macro and correctly label fixed_stack_segmentsNiko Matsakis-2/+2
2013-08-19Fix mod_floor() for uint primitive typesKevin Ballard-2/+15
2013-08-16doc: correct spelling in documentation.Huon Wilson-1/+1
2013-08-14Rewrite Saturating in terms of CheckedAdd/CheckedSubKevin Ballard-38/+25
2013-08-12Forbid pub/priv where it has no effectAlex Crichton-2/+2
Closes #5495
2013-08-12fix build with the new snapshot compilerDaniel Micay-37/+14
2013-08-11num: implement CheckedDivDaniel Micay-2/+42
2013-08-11disable 64-bit CheckedMul on 32-bitDaniel Micay-2/+4
code generation problem reported as issue #8449
2013-08-11add intrinsics for checked overflow add/sub/mulDaniel Micay-1/+448
2013-08-09Remove redundant Ord method impls.OGINO Masanori-12/+0
Basically, generic containers should not use the default methods since a type of elements may not guarantees total order. str could use them since u8's Ord guarantees total order. Floating point numbers are also broken with the default methods because of NaN. Thanks for @thestinger. Timespec also guarantees total order AIUI. I'm unsure whether extra::semver::Identifier does so I left it alone. Proof needed. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2013-08-07std: add missing #[inline] annotation to the f64 arithmetic trait impls.Huon Wilson-0/+4
2013-08-07Forbid `priv` where it has no effectAlex Crichton-3/+3
This is everywhere except struct fields and enum variants.
2013-08-07Implement DoubleEndedIterator on RangeKevin Ballard-33/+2
Range is now invertable as long as its element type conforms to Integer. Remove int::range_rev() et al in favor of range().invert().
2013-08-07auto merge of #8323 : kballard/rust/saturating, r=thestingerbors-60/+157
Implement saturating math in `std::num::Saturating` and use it for `Iterator` impls
2013-08-05Add std::num::SaturatingKevin Ballard-60/+157
Saturating is an implementation of saturating math operations (at the moment just add and sub) for integral types.
2013-08-06std: Remove uint::iterate, replaced by `range`blake2-ppc-24/+0
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-1/+1
- 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-03replace all remaining `for` with `foreach` or `do`Daniel Micay-43/+57
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-95/+96
2013-08-02replace `range` with an external iteratorDaniel Micay-28/+2
2013-08-01std: Change `Times` trait to use `do` instead of `for`blake2-ppc-7/+6
Change the former repetition:: for 5.times { } to:: do 5.times { } .times() cannot be broken with `break` or `return` anymore; for those cases, use a numerical range loop instead.
2013-07-30Improve std::num module description, and fix some formattingBrendan Zabarauskas-21/+4
2013-07-30Add some missing method wrappers to std::numBrendan Zabarauskas-2/+24
2013-07-24Change 'print(fmt!(...))' to printf!/printfln! in src/lib*Birunthan Mohanathas-1/+1
2013-07-22std: add #[bench] benchmarks for num::strconvGraydon Hoare-0/+24
2013-07-20librustc: Remove `pub extern` and `priv extern` from the language.Patrick Walton-99/+133
Place `pub` or `priv` on individual items instead.
2013-07-20auto merge of #7894 : pcwalton/rust/and-pointers-in-at-boxes, r=brsonbors-2/+2
r? @brson
2013-07-19std: Remove old magic core modBrian Anderson-1/+1
2013-07-18librustc: Forbid `&` pointers (other than `&'static`) inside `@` boxes.Patrick Walton-2/+2
This makes custom borrowing implementations for custom smart pointers sound.
2013-07-17librustc: Remove all uses of the `Copy` bound.Patrick Walton-6/+4
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-9/+10