pub fn log<T: FloatingNumber>(nature: &T, x: &T) -> Option<T>where for<'a> &'a T: Sub<Output = T> + Mul<Output = T> + Reciprocal<Output = T>,