sigils/examples/trig.rs
Jason Travis Smith 43a1e30808 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.
2017-06-27 18:19:33 -04:00

48 lines
963 B
Rust

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!("");
}