FastLED 3.9.15
Loading...
Searching...
No Matches
math.h File Reference
#include "fl/stl/compiler_control.h"
#include "fl/stl/int.h"
#include "fl/stl/type_traits.h"
#include "fl/stl/undef.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for math.h:

Go to the source code of this file.

Classes

struct  fl::ceil_detail::has_static_ceil< T, typename >
 
struct  fl::ceil_detail::has_static_ceil< T, decltype(static_cast< void >(T::ceil(declval< T >())))>
 
struct  fl::floor_detail::has_static_floor< T, typename >
 
struct  fl::floor_detail::has_static_floor< T, decltype(static_cast< void >(T::floor(declval< T >())))>
 
struct  fl::sqrt_detail::has_static_sqrt< T, typename >
 
struct  fl::sqrt_detail::has_static_sqrt< T, decltype(static_cast< void >(T::sqrt(declval< T >())))>
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::ceil_detail
 
namespace  fl::floor_detail
 
namespace  fl::map_range_detail
 
namespace  fl::sqrt_detail
 

Macros

#define FL_ABS(x)
 
#define FL_ALMOST_EQUAL(a, b, small)
 
#define FL_ALMOST_EQUAL_DOUBLE(a, b)
 
#define FL_ALMOST_EQUAL_EPSILON(a, b, epsilon)
 
#define FL_ALMOST_EQUAL_FLOAT(a, b)
 
#define FL_E   2.71828182845904523536
 
#define FL_EPSILON_D   2.2204460492503131e-16
 
#define FL_EPSILON_F   1.19209290e-07F
 
#define FL_FLT_MAX   3.402823466e+38F
 
#define FL_INFINITY_DOUBLE   (1.0 / 0.0)
 
#define FL_INFINITY_FLOAT   (1.0f / 0.0f)
 
#define FL_M_PI   FL_PI
 
#define FL_MAX(a, b)
 
#define FL_MIN(a, b)
 
#define FL_PI   3.1415926535897932384626433832795
 

Functions

template<typename T>
constexprfl::abs (T value) FL_NOEXCEPT
 
double fl::acos (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::acos (T value) FL_NOEXCEPT
 
double fl::acos_impl_double (double value)
 
float fl::acos_impl_float (float value)
 
float fl::acosf (float value) FL_NOEXCEPT
 
bool fl::almost_equal (double a, double b) FL_NOEXCEPT
 
bool fl::almost_equal (float a, float b) FL_NOEXCEPT
 
template<typename T, typename U>
constexpr bool fl::almost_equal (T a, T b, U tolerance) FL_NOEXCEPT
 
double fl::asin (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::asin (T value) FL_NOEXCEPT
 
double fl::asin_impl_double (double value)
 
float fl::asin_impl_float (float value)
 
float fl::asinf (float value) FL_NOEXCEPT
 
double fl::atan (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::atan (T value) FL_NOEXCEPT
 
double fl::atan2 (double y, double x) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::atan2 (T y, T x) FL_NOEXCEPT
 
double fl::atan2_impl_double (double y, double x)
 
float fl::atan2_impl_float (float y, float x)
 
float fl::atan2f (float y, float x) FL_NOEXCEPT
 
double fl::atan_impl_double (double value)
 
float fl::atan_impl_float (float value)
 
float fl::atanf (float value) FL_NOEXCEPT
 
double fl::ceil (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::ceil (T value) FL_NOEXCEPT
 
template<typename T>
enable_if< ceil_detail::has_static_ceil< T >::value, decltype(T::ceil(declval< T >()))>::type fl::ceil (T value) FL_NOEXCEPT
 
constexpr int fl::ceil_constexpr (float value) FL_NOEXCEPT
 
double fl::ceil_impl_double (double value)
 
float fl::ceil_impl_float (float value)
 
float fl::ceilf (float value) FL_NOEXCEPT
 
template<typename T>
FL_DISABLE_WARNING_POP FASTLED_FORCE_INLINEfl::clamp (T value, T lo, T hi) FL_NOEXCEPT
 
double fl::cos (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::cos (T value) FL_NOEXCEPT
 
double fl::cos_impl_double (double value)
 
float fl::cos_impl_float (float value)
 
float fl::cosf (float value) FL_NOEXCEPT
 
template<typename T>
constexprfl::degrees (T rad) FL_NOEXCEPT
 
double fl::exp (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::exp (T value) FL_NOEXCEPT
 
double fl::exp_impl_double (double value)
 
float fl::exp_impl_float (float value)
 
float fl::expf (float value) FL_NOEXCEPT
 
double fl::fabs (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::fabs (T value) FL_NOEXCEPT
 
double fl::fabs_impl_double (double value)
 
float fl::fabs_impl_float (float value)
 
float fl::fabsf (float value) FL_NOEXCEPT
 
float fl::fast_logf_approx (float x) FL_NOEXCEPT
 
FL_DISABLE_WARNING_PUSH fl::FL_DISABLE_WARNING (float-equal) FL_DISABLE_WARNING(double-promotion) FL_DISABLE_WARNING_FLOAT_CONVERSION FL_DISABLE_WARNING_SIGN_CONVERSION FL_DISABLE_WARNING_IMPLICIT_INT_CONVERSION FL_DISABLE_WARNING_FLOAT_CONVERSION namespace map_range_detail
 
FL_DISABLE_WARNING_PUSH fl::FL_DISABLE_WARNING (sign-compare) FL_DISABLE_WARNING_FLOAT_CONVERSION FL_DISABLE_WARNING_SIGN_CONVERSION FL_DISABLE_WARNING_IMPLICIT_INT_CONVERSION template< typename T
 
double fl::floor (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::floor (T value) FL_NOEXCEPT
 
template<typename T>
enable_if< floor_detail::has_static_floor< T >::value, decltype(T::floor(declval< T >()))>::type fl::floor (T value) FL_NOEXCEPT
 
double fl::floor_impl_double (double value)
 
float fl::floor_impl_float (float value)
 
float fl::floorf (float value) FL_NOEXCEPT
 
template<typename T>
enable_if<!is_integral< T >::value, T >::type fl::fmod (T x, T y) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::fmod (T x, T y) FL_NOEXCEPT
 
template<>
double fl::fmod< double > (double x, double y) FL_NOEXCEPT
 
double fl::fmod_impl_double (double x, double y)
 
float fl::fmod_impl_float (float x, float y)
 
float fl::fmodf (float x, float y) FL_NOEXCEPT
 
double fl::hypot (double x, double y) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::hypot (T x, T y) FL_NOEXCEPT
 
double fl::hypot_impl_double (double x, double y)
 
float fl::hypot_impl_float (float x, float y)
 
float fl::hypotf (float x, float y) FL_NOEXCEPT
 
double fl::ldexp (double value, int exp) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::ldexp (T value, int exp) FL_NOEXCEPT
 
double fl::ldexp_impl_double (double value, int exp)
 
float fl::ldexp_impl_float (float value, int exp)
 
float fl::ldexpf (float value, int exp) FL_NOEXCEPT
 
double fl::log (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::log (T value) FL_NOEXCEPT
 
double fl::log10 (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::log10 (T value) FL_NOEXCEPT
 
double fl::log10_impl_double (double value)
 
float fl::log10_impl_float (float value)
 
float fl::log10f (float value) FL_NOEXCEPT
 
double fl::log2 (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::log2 (T value) FL_NOEXCEPT
 
float fl::log2f (float value) FL_NOEXCEPT
 
double fl::log_impl_double (double value)
 
float fl::log_impl_float (float value)
 
float fl::logf (float value) FL_NOEXCEPT
 
long fl::lround (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, long >::type fl::lround (T value) FL_NOEXCEPT
 
long fl::lround_impl_double (double value)
 
long fl::lround_impl_float (float value)
 
long fl::lroundf (float value) FL_NOEXCEPT
 
template<typename T, typename U>
FASTLED_FORCE_INLINEfl::map_range (T value, T in_min, T in_max, U out_min, U out_max) FL_NOEXCEPT
 
template<typename T, typename U>
FASTLED_FORCE_INLINEfl::map_range_clamped (T value, T in_min, T in_max, U out_min, U out_max) FL_NOEXCEPT
 
template<typename T, typename U>
constexpr common_type_t< T, U > fl::max (T a, U b) FL_NOEXCEPT
 
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > fl::min (T a, U b) FL_NOEXCEPT
 
double fl::pow (double base, double exponent) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::pow (T base, T exponent) FL_NOEXCEPT
 
double fl::pow_impl_double (double base, double exponent)
 
float fl::pow_impl_float (float base, float exponent)
 
float fl::powf (float base, float exponent) FL_NOEXCEPT
 
template<typename T>
constexprfl::radians (T deg) FL_NOEXCEPT
 
template<typename T>
enable_if<!is_integral< T >::value, T >::type fl::round (T value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::round (T value) FL_NOEXCEPT
 
template<>
double fl::round< double > (double value) FL_NOEXCEPT
 
double fl::round_impl_double (double value)
 
float fl::round_impl_float (float value)
 
float fl::roundf (float value) FL_NOEXCEPT
 
double fl::sin (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::sin (T value) FL_NOEXCEPT
 
double fl::sin_impl_double (double value)
 
float fl::sin_impl_float (float value)
 
template<typename T>
enable_if< is_integral< T >::value >::type fl::sincos (T angle, float &out_sin, float &out_cos) FL_NOEXCEPT
 
template<typename T>
enable_if< is_floating_point< T >::value >::type fl::sincos (T angle, T &out_sin, T &out_cos) FL_NOEXCEPT
 
float fl::sinf (float value) FL_NOEXCEPT
 
double fl::sqrt (double value) FL_NOEXCEPT
 
float fl::sqrt (float value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::sqrt (T value) FL_NOEXCEPT
 
template<typename T>
enable_if< sqrt_detail::has_static_sqrt< T >::value, decltype(T::sqrt(declval< T >()))>::type fl::sqrt (T value) FL_NOEXCEPT
 
double fl::sqrt_impl_double (double value)
 
float fl::sqrt_impl_float (float value)
 
float fl::sqrtf (float value) FL_NOEXCEPT
 
double fl::tan (double value) FL_NOEXCEPT
 
template<typename T>
enable_if< is_integral< T >::value, float >::type fl::tan (T value) FL_NOEXCEPT
 
double fl::tan_impl_double (double value)
 
float fl::tan_impl_float (float value)
 
float fl::tanf (float value) FL_NOEXCEPT