From 885618f96ab1079ee49553f46804d2a4460e41b3 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 3 Dec 2016 21:56:26 +0200 Subject: Started adding sinusoids --- src/num_traits.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/num_traits.rs') diff --git a/src/num_traits.rs b/src/num_traits.rs index 1e04cce..b6a2ac8 100644 --- a/src/num_traits.rs +++ b/src/num_traits.rs @@ -1,3 +1,5 @@ +use std; + pub trait Trig { fn sin(self) -> Self; fn cos(self) -> Self; @@ -82,3 +84,25 @@ impl_int_pow!(u8); impl_int_pow!(u16); impl_int_pow!(u32); impl_int_pow!(u64); + + +pub trait Float { + fn recip(self) -> Self; + fn PI() -> Self; +} + +macro_rules! impl_float { + ($t: ty, $pi: expr) => { + impl Float for $t { + fn recip(self) -> Self { + self.recip() + } + fn PI() -> Self { + $pi + } + } + } +} + +impl_float!(f32, std::f32::consts::PI); +impl_float!(f64, std::f64::consts::PI); -- cgit v1.2.3