2012-12-03 18:48:01 -06:00
|
|
|
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
|
|
|
|
// file at the top-level directory of this distribution and at
|
|
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
|
|
// option. This file may not be copied, modified, or distributed
|
|
|
|
// except according to those terms.
|
|
|
|
|
2012-09-19 18:52:32 -05:00
|
|
|
//! An interface for numeric types
|
2012-06-07 19:25:54 -05:00
|
|
|
|
2012-09-28 14:30:11 -05:00
|
|
|
pub trait Num {
|
2012-07-31 12:27:51 -05:00
|
|
|
// FIXME: Trait composition. (#2616)
|
2012-09-25 17:15:49 -05: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;
|
2012-07-26 16:42:44 -05:00
|
|
|
pure fn neg() -> self;
|
2012-06-07 19:25:54 -05:00
|
|
|
|
2012-07-26 16:42:44 -05:00
|
|
|
pure fn to_int() -> int;
|
2012-08-14 22:03:31 -05:00
|
|
|
static pure fn from_int(n: int) -> self;
|
2012-06-07 19:25:54 -05:00
|
|
|
}
|