Added the basic trigonometric functions.
These were moved to their own trait and removed from the definition of a Real number. This allows the definition of a trigonometric function to call a different libc trig function depending on type.
This commit is contained in:
47
examples/trig.rs
Normal file
47
examples/trig.rs
Normal file
@ -0,0 +1,47 @@
|
||||
extern crate pact;
|
||||
extern crate sigils;
|
||||
|
||||
|
||||
|
||||
use ::sigils::{Constants, Degree, Radian, Trig};
|
||||
|
||||
|
||||
|
||||
fn main()
|
||||
{
|
||||
let mut val: f64;
|
||||
let mut degrees: Degree<f64>;
|
||||
let mut radians: Radian<f64>;
|
||||
|
||||
val = Constants::QUARTER_PI;
|
||||
val *= 6f64;
|
||||
radians = Radian::new(val);
|
||||
degrees = Trig::acos(Trig::cos(radians));
|
||||
|
||||
println!("{:?}", radians);
|
||||
println!("{:?}", degrees);
|
||||
println!("");
|
||||
|
||||
radians = Radian::new(Constants::QUARTER_PI);
|
||||
radians = Trig::acos(Trig::cos(radians));
|
||||
degrees = Degree::from(radians);
|
||||
|
||||
println!("{:?}", radians);
|
||||
println!("{:?}", degrees);
|
||||
println!("");
|
||||
|
||||
degrees = Degree::new(270.0f64);
|
||||
radians = Trig::acos(Trig::cos(degrees));
|
||||
|
||||
println!("{:?}", degrees);
|
||||
println!("{:?}", radians);
|
||||
println!("");
|
||||
|
||||
degrees = Degree::new(90.0f64);
|
||||
degrees = Trig::acos(Trig::cos(degrees));
|
||||
radians = Radian::from(degrees);
|
||||
|
||||
println!("{:?}", degrees);
|
||||
println!("{:?}", radians);
|
||||
println!("");
|
||||
}
|
Reference in New Issue
Block a user