about summary refs log tree commit diff
path: root/src/libstd/num
AgeCommit message (Collapse)AuthorLines
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-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
2013-07-10Switch over to new range_rev semantics; fix #5270.Felix S. Klock II-6/+8
2013-07-10Refactored int/uint range code in preparation for change to range_rev semantics.Felix S. Klock II-33/+148
Also added unit tests of range code to test refactoring. The num-range-rev.rs test will need to be updated when the range_rev semantics change.
2013-07-08 Replaces the free-standing functions in f32, &c.Jens Nockert-263/+81
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-01rustc: add a lint to enforce uppercase statics.Huon Wilson-7/+17
2013-06-30auto merge of #7487 : huonw/rust/vec-kill, r=cmrbors-3/+2
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
2013-06-30Specialize to_str_common for floats/integers in strconvAlex Crichton-134/+182
This allows the integral paths to avoid allocations on the heap Closes #4424, #4423
2013-06-30Convert vec::{reverse, swap} to methods.Huon Wilson-3/+2
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-1/+1
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/+4
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-578/+578
2013-06-16Add copies to type params with Copy boundNiko Matsakis-17/+17
2013-06-14Add Zero impls for lots of common typesAlex Crichton-0/+15
2013-06-12std: unify the str -> [u8] functions as 3 methods: .as_bytes() and ↵Huon Wilson-37/+38
.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-11std: convert pow, hypot, atan2, log to take arguments by reference.Huon Wilson-20/+20
2013-06-08std: Fix search-and-replace typosTim Chevalier-1/+1
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-2/+2
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-05-30Add example for uint::range_step.Steve Klabnik-3/+12
2013-05-30Require documentation by default for libstdAlex Crichton-0/+35
Adds documentation for various things that I understand. Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-4/+35