Log
Calculates the natural (base-\(e\)) logarithm of the argument.
template<FloatingPointType T>
constexpr inline T Log( T x ) noexcept;
Example/Test code
using C = Constants<float>;
constexpr auto result1 = Log( C::Infinity );
BOOST_CHECK( IsInf( result1 ) );
constexpr auto result2 = Log( C::NegativeInfinity );
BOOST_CHECK( IsNaN( result2 ) );
constexpr auto result3 = Log( C::Zero );
BOOST_CHECK( IsInf( result3 ) );
constexpr auto result4 = Log( -C::Zero );
BOOST_CHECK( IsInf( result4 ) );
constexpr auto result5 = Log( C::NaN );
BOOST_CHECK( IsNaN( result5 ) );
constexpr auto result6 = Log( C::One );
BOOST_CHECK( result6 == C::Zero );
constexpr auto result7 = Log( -C::One );
BOOST_CHECK( IsNaN( result7 ) );
constexpr auto result8 = Log( C::E );
BOOST_CHECK( result8 == C::One );
constexpr auto result9 = Log( C::E2 );
BOOST_CHECK( result9 == C::Two );
constexpr auto result10 = Log( C::E3 );
BOOST_CHECK( result10 == C::Three );
constexpr auto result11 = Log( .7f );
BOOST_CHECK( result11 == -0.356674969f );