Exponential functions

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 );