rust/src/lib/math.rs

82 lines
1.2 KiB
Rust
Raw Normal View History

2011-10-26 13:28:23 -05:00
/* Module: math */
2011-11-07 17:29:05 -06:00
native "c-stack-cdecl" mod libc = "" {
fn sqrt(n: float) -> float;
fn sin(n: float) -> float;
fn asin(n: float) -> float;
fn cos(n: float) -> float;
fn acos(n: float) -> float;
fn tan(n: float) -> float;
fn atan(n: float) -> float;
}
2011-10-26 18:24:31 -05:00
/*
Function: sqrt
Returns the square root
*/
2011-11-07 17:29:05 -06:00
fn sqrt(x: float) -> float { libc::sqrt(x) }
2011-10-26 18:24:31 -05:00
/*
Function: sin
Returns the sine of an angle
*/
2011-11-07 17:29:05 -06:00
fn sin(x: float) -> float { libc::sin(x) }
2011-10-26 18:24:31 -05:00
/*
Function: cos
Returns the cosine of an angle
*/
2011-11-07 17:29:05 -06:00
fn cos(x: float) -> float { libc::cos(x) }
2011-10-26 18:24:31 -05:00
/*
Function: tan
Returns the tangent of an angle
*/
2011-11-07 17:29:05 -06:00
fn tan(x: float) -> float { libc::tan(x) }
2011-10-26 18:24:31 -05:00
/*
Function: asin
Returns the arcsine of an angle
*/
2011-11-07 17:29:05 -06:00
fn asin(x: float) -> float { libc::asin(x) }
2011-10-26 18:24:31 -05:00
/*
Function: acos
Returns the arccosine of an angle
*/
2011-11-07 17:29:05 -06:00
fn acos(x: float) -> float { libc::acos(x) }
2011-10-26 18:24:31 -05:00
/*
Function: atan
Returns the arctangent of an angle
*/
2011-11-07 17:29:05 -06:00
fn atan(x: float) -> float { libc::atan(x) }
2011-10-26 18:24:31 -05:00
/*
Const: pi
Archimedes' constant
*/
const pi: float = 3.141592653589793;
2011-10-26 18:24:31 -05:00
/*
Function: min
Returns the minimum of two values
*/
fn min<T>(x: T, y: T) -> T { x < y ? x : y }
2011-10-26 18:24:31 -05:00
/*
Function: max
Returns the maximum of two values
*/
fn max<T>(x: T, y: T) -> T { x < y ? y : x }