WPILibC++ 2023.4.3
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...

◆ log()

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

Compile-time natural logarithm function.

Parameters
 x a 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.