Brendan Zabarauskas
b7cf89f6e8
Add mul_add and next_after methods to Float
2013-04-27 01:02:30 +10:00
Brendan Zabarauskas
6cc7107aa6
Add Orderable trait
...
This is a temporary trait until we have default methods. We don't want to encumber all implementors of Ord by requiring them to implement these functions, but at the same time we want to be able to take advantage of the speed of the specific numeric functions (like the `fmin` and `fmax` intrinsics).
2013-04-27 01:01:53 +10:00
Brendan Zabarauskas
4c07f5e457
Add Int, Uint and Float traits for primitive numbers
2013-04-26 10:22:08 +10:00
Brendan Zabarauskas
b62421000c
Add Bitwise, Bounded, Primitive, and PrimitiveInt traits
2013-04-26 10:02:00 +10:00
Brendan Zabarauskas
dbc2e99693
Use ///
doc-comment form instead of /** */
2013-04-26 09:55:49 +10:00
Brendan Zabarauskas
ad0b337036
Add is_zero method to Zero
2013-04-26 05:55:26 +10:00
Brendan Zabarauskas
48c24188f9
Restore Round trait and move appropriate methods out of Real
2013-04-25 11:53:04 +10:00
Brendan Zabarauskas
dcd49ccd0b
Add Fractional, Real and RealExt traits
2013-04-25 08:20:01 +10:00
Brendan Zabarauskas
d4868ee740
Use #[cfg(not(stage0))] to exclude items from stage0
...
As requested on the mailing list: https://mail.mozilla.org/pipermail/rust-dev/2013-April/003713.html
2013-04-25 08:20:00 +10:00
Brendan Zabarauskas
03932f0b84
Move impls of Num
out of core::num and clean up imports
2013-04-25 08:20:00 +10:00
Brendan Zabarauskas
aef249056e
Implement Signed and Unsigned traits and remove related predicate functions
2013-04-24 12:46:26 +10:00
Daniel Micay
a3e33cfb6e
inline the primitive numeric operations
2013-04-23 14:05:41 -04:00
Brendan Zabarauskas
01eb5e8ad3
Rename Div operator trait to Quot and Modulo operator trait to Rem
2013-04-22 01:58:53 +10:00
Huon Wilson
d9c54f8387
librustc: use LLVM intrinsics for several floating point operations.
...
Achieves at least 5x speed up for some functions!
Also, reorganise the delegation code so that the delegated function wrappers
have the #[inline(always)] annotation, and reduce the repetition of
delegate!(..).
2013-04-21 01:40:48 +10:00
Brendan Zabarauskas
939a97f5cb
Add #[inline(always)] to each operator method
2013-04-18 23:24:24 +10:00
Brendan Zabarauskas
c4685477e0
Consolidate tests of numeric operations
2013-04-14 02:53:00 +10:00
Brendan Zabarauskas
353ce872e2
Generate NumCast impls and tests using macros
2013-04-14 01:14:02 +10:00
Huon Wilson
41c6f67109
libcore: from_str_common: provide option to ignore underscores.
...
Implement the possible improvement listed in the comment on
from_str_bytes_common.
2013-04-08 16:35:39 +10:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Patrick Walton
85c9fc6f8f
librustc: Remove the const
declaration form everywhere
2013-03-22 22:24:35 -07:00
Patrick Walton
be9bddd463
libcore: Remove pure
from libcore. rs=depure
2013-03-22 10:29:17 -07:00
Patrick Walton
4634f7edae
librustc: Remove all uses of static
from functions. rs=destatic
2013-03-22 10:27:39 -07:00
Patrick Walton
d7e74b5e91
librustc: Convert all uses of assert
over to fail_unless!
2013-03-07 22:37:57 -08:00
Alex Crichton
cb4ab76e4a
Adding missing imports for tests, and gate off others
2013-03-04 12:27:01 -05:00
Brian Anderson
bcf626812b
Rename core::private to core::unstable. #4743
2013-03-01 14:55:47 -08:00
Patrick Walton
07c3f5c0de
librustc: Forbid pub
or priv
before trait implementations
2013-02-27 09:40:16 -08:00
Matthijs 'Thiez' Hofstra
675bdcf341
Created libcore/private/intrinsics.rs, which aims to contain every
...
rustc intrinsic. Several files in libcore have been changed to use
these intrinsics.
As of yet, none of the intrinsics are documented.
2013-02-20 20:39:49 +01:00
bors
3e97cce27d
auto merge of #4957 : Kimundi/rust/incoming, r=catamorphism
...
Moved them into own module and made them not depend on an Round trait impl for integers and generic math functions that can fail on integers any more.
2013-02-15 17:29:57 -08:00
Patrick Walton
bb833ca0f0
librustc: Stop parsing impl Type : Trait
and fix several declarations that slipped through. r=tjc
2013-02-15 16:59:56 -08:00
Marvin Löbel
bd93a36d73
Made num <-> str conversion functions use NumStrConv trait
...
Removed hacky dependency on Round trait and generic infinity functions
Removed generic-runtime-failure-depending-on-type behavior
2013-02-15 05:20:36 +01:00
Marvin Löbel
adac6cb5c6
Moved numeric string conversion functions into own module
2013-02-15 03:29:36 +01:00
Patrick Walton
9143688197
librustc: Replace impl Type : Trait
with impl Trait for Type
. rs=implflipping
2013-02-14 14:44:12 -08:00
Patrick Walton
216e85fadf
libcore: Move the numeric operations out of Num. r=brson
...
Sadly I could not use trait inheritance due to a type parameter substitution
bug.
2013-02-14 08:14:01 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
Brendan Zabarauskas
48b2141b83
Add NumCast trait for generic numeric type casts
2013-02-11 12:33:05 +11:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
Erick Tryzelaar
9adfa59d8e
core: convert ToStr::to_str to take explicit &self
2013-02-03 20:47:26 -08:00
Marvin Löbel
eeb89c5012
Solved float, f32 and f64 to_str_radix()
special value ambiguity.
...
Calling it on a special value now causes a failure, however `to_str_radix_special()` is provided which can be
used if those values are expected, and which returns a tupel to allow differentating them.
2013-02-03 15:37:25 -08:00
Marvin Löbel
a612e49a21
Converted the floating point types to the new string conversion functions.
...
Also fixed all conflicting calls of the old functions in the rest of the codebase.
The set of string conversion functions for each float type now consists of those items:
- to_str(), converts to number in base 10
- to_str_hex(), converts to number in base 16
- to_str_radix(), converts to number in given radix
- to_str_exact(), converts to number in base 10 with a exact number of trailing digits
- to_str_digits(), converts to number in base 10 with a maximum number of trailing digits
- implementations for to_str::ToStr and num::ToStrRadix
- from_str(), parses a string as number in base 10 including decimal exponent and special values
- from_str_hex(), parses a string as a number in base 16 including binary exponent and special values
- from_str_radix(), parses a string as a number in a given base excluding any exponent and special values
- implementations for from_str::FromStr and num::FromStrRadix
2013-02-03 15:37:24 -08:00
Marvin Löbel
96f0512a45
Added Round trait to core
2013-02-03 15:37:23 -08:00
Marvin Löbel
40f0b45f8e
Moved all numeric modules in core into own directory
...
Reason: Better grouping of related modules, future-proving for a more extensive math library.
2013-02-03 15:37:23 -08:00