pub fn ln(&self) -> Quaternion<N> {
        if let Some(v) = self.axis() {
            Quaternion::from_parts(::zero(), v.unwrap() * self.angle())
        }
        else {
            ::zero()
        }
    }
/// Compute the natural logarithm of a quaternion.
///
/// Note that this function yields a `Quaternion<N>` because it looses the unit property.  The
/// vector part of the return value corresponds to the axis-angle representation (divided by
/// 2.0) of this unit quaternion.
Compute the natural logarithm of a quaternion.
Note that this function yields a `Quaternion` because it looses the unit property.  The
vector part of the return value corresponds to the axis-angle representation (divided by
2.0) of this unit quaternion.
Compute the natural logarithm of a quaternion . Note that this function yields a ` Quaternion ` because it looses the unit property . The vector part of the return value corresponds to the axis - angle representation ( divided by 2 . 0 ) of this unit quaternion .
pub fn ln(&self) -> Quaternion<N> {
        if let Some(v) = self.axis() {
            Quaternion::from_parts(::zero(), v.unwrap() * self.angle())
        }
        else {
            ::zero()
        }
    }
pub fn ln ( & self ) -> Quaternion < N > { if let Some ( v ) = self . axis ( ) { Quaternion :: from_parts ( :: zero ( ) , v . unwrap ( ) * self . angle ( ) ) } else { :: zero ( ) } }
Compute the natural logarithm of a quaternion.
Compute the natural logarithm of a quaternion .
&self
&self