2012-07-04 22:53:12 +01:00
|
|
|
/// An interface for numbers.
|
2012-06-07 17:25:54 -07:00
|
|
|
|
2012-08-13 16:20:27 -07:00
|
|
|
trait Num {
|
2012-07-31 10:27:51 -07:00
|
|
|
// FIXME: Trait composition. (#2616)
|
2012-07-26 14:42:44 -07:00
|
|
|
pure fn add(&&other: self) -> self;
|
|
|
|
pure fn sub(&&other: self) -> self;
|
|
|
|
pure fn mul(&&other: self) -> self;
|
|
|
|
pure fn div(&&other: self) -> self;
|
|
|
|
pure fn modulo(&&other: self) -> self;
|
|
|
|
pure fn neg() -> self;
|
2012-06-07 17:25:54 -07:00
|
|
|
|
2012-07-26 14:42:44 -07:00
|
|
|
pure fn to_int() -> int;
|
2012-08-14 20:03:31 -07:00
|
|
|
static pure fn from_int(n: int) -> self;
|
2012-06-07 17:25:54 -07:00
|
|
|
}
|