diff --git a/traits/src/float.rs b/traits/src/float.rs index 5ca6e07..78dbe53 100644 --- a/traits/src/float.rs +++ b/traits/src/float.rs @@ -1268,16 +1268,30 @@ macro_rules! float_impl { <$T>::log10(self) } + #[cfg(feature = "std")] #[inline] fn to_degrees(self) -> Self { <$T>::to_degrees(self) } + #[cfg(feature = "std")] #[inline] fn to_radians(self) -> Self { <$T>::to_radians(self) } + #[cfg(not(feature = "std"))] + #[inline] + fn to_degrees(self) -> Self { + self * (180. / ::core::$T::consts::PI) + } + + #[cfg(not(feature = "std"))] + #[inline] + fn to_radians(self) -> Self { + self * (::core::$T::consts::PI / 180.) + } + #[cfg(feature = "std")] #[inline] fn max(self, other: Self) -> Self { diff --git a/traits/src/lib.rs b/traits/src/lib.rs index 091b056..70393cb 100644 --- a/traits/src/lib.rs +++ b/traits/src/lib.rs @@ -14,6 +14,8 @@ html_root_url = "https://rust-num.github.io/num/", html_playground_url = "http://play.integer32.com/")] +#![deny(unconditional_recursion)] + #![cfg_attr(not(feature = "std"), no_std)] #[cfg(feature = "std")] extern crate core;