WPILibC++ 2023.4.3-108-ge5452e3
log.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  internal
 

Functions

template<typename T >
constexpr T internal::log_cf_main (const T xx, const int depth) noexcept
 
template<typename T >
constexpr T internal::log_cf_begin (const T x) noexcept
 
template<typename T >
constexpr T internal::log_main (const T x) noexcept
 
constexpr long double internal::log_mantissa_integer (const int x) noexcept
 
template<typename T >
constexpr T internal::log_mantissa (const T x) noexcept
 
template<typename T >
constexpr T internal::log_breakup (const T x) noexcept
 
template<typename T >
constexpr T internal::log_check (const T x) noexcept
 
template<typename T >
constexpr return_t< T > internal::log_integral_check (const T x) noexcept
 
template<typename T >
constexpr return_t< T > log (const T x) noexcept
 Compile-time natural logarithm function. More...
 

Function Documentation

◆ log()

template<typename T >
constexpr return_t< T > log ( const T  x)
constexprnoexcept

Compile-time natural logarithm function.

Parameters
xa real-valued input.
Returns
\( \log_e(x) \) using

\[ \log\left(\frac{1+x}{1-x}\right) = \dfrac{2x}{1-\dfrac{x^2}{3-\dfrac{4x^2}{5 - \dfrac{9x^3}{7 - \ddots}}}}, \ \ x \in [-1,1] \]

The continued fraction argument is split into two parts: \( x = a \times 10^c \), where \( c \) is an integer.