2012-07-04 22:53:12 +01:00
|
|
|
/// An interface for numbers.
|
2012-06-07 17:25:54 -07:00
|
|
|
|
|
|
|
iface num {
|
2012-06-14 18:18:43 -07:00
|
|
|
// FIXME: Cross-crate overloading doesn't work yet. (#2615)
|
|
|
|
// FIXME: Interface inheritance. (#2616)
|
2012-06-07 17:25:54 -07:00
|
|
|
fn add(&&other: self) -> self;
|
|
|
|
fn sub(&&other: self) -> self;
|
|
|
|
fn mul(&&other: self) -> self;
|
|
|
|
fn div(&&other: self) -> self;
|
|
|
|
fn modulo(&&other: self) -> self;
|
2012-06-07 18:27:10 -07:00
|
|
|
fn neg() -> self;
|
2012-06-07 17:25:54 -07:00
|
|
|
|
|
|
|
fn to_int() -> int;
|
|
|
|
fn from_int(n: int) -> self; // TODO: Static functions.
|
|
|
|
}
|
|
|
|
|