Brian Anderson
8081e8debf
Register snapshots
2013-05-04 15:43:51 -07:00
Brendan Zabarauskas
ee26c7c433
Revert rename of Div to Quot
2013-05-01 15:40:05 +10:00
Brendan Zabarauskas
500078e147
Revert "Merge Exponential and Hyperbolic traits"
...
After discussions on IRC and #4819 , we have decided to revert this change. This is due to the traits expressing different ideas and because hyperbolic functions are not trivially implementable from exponential functions for floating-point types.
2013-04-29 23:50:34 +10:00
Brendan Zabarauskas
d3f494f5c3
Merge Exponential and Hyperbolic traits
...
The Hyperbolic Functions are trivially implemented in terms of `exp`, so it's simpler to group them the Exponential trait. In the future these would have default implementations.
2013-04-29 22:15:58 +10:00
Brendan Zabarauskas
20ad931bf3
Rename 'divisible_by' method to 'is_multiple_of', add tests for 'is_odd' and 'is_even'
2013-04-29 16:03:48 +10:00
Brendan Zabarauskas
c9620dc052
Move appropriate functions out of Real and into separate Algebraic, Trigonometric, Exponential and Hyperbolic traits
2013-04-29 15:33:55 +10:00
Brendan Zabarauskas
4cc9d0ba7e
Add additional constants to primitive floating point numbers
...
These follow the values defined in the C99 standard
2013-04-27 09:07:40 +10:00
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
6efbbf2e14
Combine PrimitiveInt, Int, and Uint traits into one single trait
...
Having three traits for primitive ints/uints seemed rather excessive. If users wish to specify between them they can simply combine Int with either the Signed and Unsigned traits. For example: fn foo<T: Int + Signed>() { … }
2013-04-26 19:56:11 +10:00
Brendan Zabarauskas
d0737451fc
Add BitCount trait
2013-04-26 16:27:51 +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
6fa054df96
Use borrowed pointers for Integer methods
...
This brings them in line with the quot and rem traits, and is be better for large Integer types like BigInt and BigUint because they don't need to be copied unnecessarily.
2013-04-25 08:20:00 +10:00
Brendan Zabarauskas
024bf2ec72
Rename Natural to Integer
...
'Natural' normally means 'positive integer' in mathematics. It is therefore strange to implement it on signed integer types. 'Integer' is probably a better choice.
2013-04-25 08:20:00 +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
f39152e07b
Implement Natural trait
...
This adds the following methods to ints and uints:
- div
- modulo
- div_mod
- quot_rem
- gcd
- lcm
- divisible_by
- is_even
- is_odd
I have not implemented Natural for BigInt and BigUInt because they're a little over my head.
2013-04-24 14:18:01 +10:00
Brendan Zabarauskas
aef249056e
Implement Signed and Unsigned traits and remove related predicate functions
2013-04-24 12:46:26 +10:00
Brendan Zabarauskas
01eb5e8ad3
Rename Div operator trait to Quot and Modulo operator trait to Rem
2013-04-22 01:58:53 +10:00
Brendan Zabarauskas
a7f6ec8542
Use assert_eq! instead of assert! and remove extraneous parentheses
2013-04-19 01:37:21 +10:00
Brendan Zabarauskas
0615fddd80
Remove unnecessary enclosing modules for NumCast impls
2013-04-14 05:27:32 +10:00
Brendan Zabarauskas
c4685477e0
Consolidate tests of numeric operations
2013-04-14 02:53:00 +10:00
Brendan Zabarauskas
ce6ee7bb04
Restore Num trait
...
This restores the trait that was lost in 216e85fadf
. It will eventually be broken up into a more fine-grained trait hierarchy in the future once a design can be agreed upon.
2013-04-14 02:19:35 +10:00
Brendan Zabarauskas
fde6995229
Remove trailing whitespace
2013-04-14 01:25:56 +10:00
Brendan Zabarauskas
947ba206e1
Add a test to show how NumCast can be used in type parameters
2013-04-14 01:14:02 +10:00
Brendan Zabarauskas
353ce872e2
Generate NumCast impls and tests using macros
2013-04-14 01:14:02 +10:00
Brendan Zabarauskas
3ffd735b45
Clarify purpose of NumCast trait
2013-04-14 01:14:02 +10:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Alex Crichton
be57d745d2
Removing unused imports
2013-03-28 23:56:46 -04: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
dfb5c10dea
Remove unused imports throughout src/
2013-03-04 12:27:01 -05:00
Patrick Walton
a3f728238b
librustc: Forbid chained imports and fix the logic for one-level renaming imports
2013-03-02 16:49:30 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Marvin Löbel
3edc7c0b9c
Removed generic infinity, NaN and negative zero functions
...
Removed Round impl for integers
2013-02-15 05:46:07 +01:00
Marvin Löbel
adac6cb5c6
Moved numeric string conversion functions into own module
2013-02-15 03:29:36 +01: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
Graydon Hoare
e5aa399e0d
rustc and std: teach about #[bench], modernize to use quote_expr! some.
2013-02-13 11:46:25 -08:00
Graydon Hoare
73280b0472
core: add abs to num.
2013-02-13 11:46:25 -08:00
Brendan Zabarauskas
48b2141b83
Add NumCast trait for generic numeric type casts
2013-02-11 12:33:05 +11:00
Marvin Löbel
974d5ac1e0
Fixed errors resulting from rebase.
2013-02-03 15:37:25 -08:00
Marvin Löbel
af4972f3ce
Fixed fmt!
, tests, doc-tests.
2013-02-03 15:37:25 -08:00
Marvin Löbel
98445d95d4
Removed wrong/wip doc
2013-02-03 15:37:25 -08:00